This the expected behaviour see https://gis.stackexchange.com/a/388397/79
for more details.

Ian

On Wed, 10 Aug 2022, 18:12 Tõnis Kärdi, <tonis.ka...@gmail.com> wrote:

> Hi,
>
> just accidentally stumbled upon this today. I might be missing something
> really obvious but the GML-based output formats for (none of the
> versions of) WFS seem to return columns with the names:
>
> - name
> - description
>
> while e.g. application/json returns them just fine. Turning up logging
> to GEOTOOLS_DEVELOPER shows that the query executed for GetFeature in
> the database is ok for GML outputs too (see end of this e-mail) although
> the "offending" columns are not returned in output.
>
> So I quess this is simply a GML shortcoming of "thou shalt not use these
> column names"?
>
> For example on localhost:5432
>
> create table fs (
>      oid serial not null,
>      geom geometry(point, 4326),
>      name text,
>      description text,
>      f_name text,
>      f_description text
> );
> alter table fs add constraint pk__fs primary key (oid);
>
> and then publishing the layer on GeoServer (2.21.1, using the kartofsa
> docker image), see basic config for layer at
>
> https://drive.google.com/drive/folders/110Py1Od8VZZvPQTtvfECXg_PPfYdRuej?usp=sharing
>
> This will have in DescribeFeatureType (and GetFeature aswell):
>
> a) for "application/json" all as expected:
>
> $ curl -o -
> "
> http://localhost:8080/geoserver/fs/ows?service=WFS&version=2.0.0&request=DescribeFeatureType&typeName=fs%3Afs&outputFormat=application/json
> "
> {"elementFormDefault":"qualified","targetNamespace":"https://localhost/fs
> ","targetPrefix":"fs","featureTypes":[{"typeName":"fs","properties":[{"name":"oid","maxOccurs":1,"minOccurs":1,"nillable":false,"type":"xsd:int","localType":"int"},{"name":"geom","maxOccurs":1,"minOccurs":0,"nillable":true,"type":"gml:Point","localType":"Point"},{"name":"name","maxOccurs":1,"minOccurs":0,"nillable":true,"type":"xsd:string","localType":"string"},{"name":"description","maxOccurs":1,"minOccurs":0,"nillable":true,"type":"xsd:string","localType":"string"},{"name":"f_name","maxOccurs":1,"minOccurs":0,"nillable":true,"type":"xsd:string","localType":"string"},{"name":"f_description","maxOccurs":1,"minOccurs":0,"nillable":true,"type":"xsd:string","localType":"string"}]}]}
>
> b) but for "application/gml+xml; version=3.2":
>
> $ curl -o -
> "
> http://localhost:8080/geoserver/fs/ows?service=WFS&version=2.0.0&request=DescribeFeatureType&typeName=fs%3Afs&outputFormat=application%2Fgml%2Bxml%3B%20version%3D3.2
> "
> <?xml version="1.0" encoding="UTF-8"?><xsd:schema
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:fs="https://localhost/fs";
> xmlns:gml="http://www.opengis.net/gml/3.2";
> xmlns:wfs="http://www.opengis.net/wfs/2.0";
> elementFormDefault="qualified" targetNamespace="https://localhost/fs";>
>    <xsd:import namespace="http://www.opengis.net/gml/3.2";
> schemaLocation="http://localhost:8080/geoserver/schemas/gml/3.2.1/gml.xsd
> "/>
>    <xsd:complexType name="fsType">
>      <xsd:complexContent>
>        <xsd:extension base="gml:AbstractFeatureType">
>          <xsd:sequence>
>            <xsd:element maxOccurs="1" minOccurs="1" name="oid"
> nillable="false" type="xsd:int"/>
>            <xsd:element maxOccurs="1" minOccurs="0" name="geom"
> nillable="true" type="gml:PointPropertyType"/>
>            <xsd:element maxOccurs="1" minOccurs="0" name="f_name"
> nillable="true" type="xsd:string"/>
>            <xsd:element maxOccurs="1" minOccurs="0" name="f_description"
> nillable="true" type="xsd:string"/>
>          </xsd:sequence>
>        </xsd:extension>
>      </xsd:complexContent>
>    </xsd:complexType>
>    <xsd:element name="fs" substitutionGroup="gml:AbstractFeature"
> type="fs:fsType"/>
> </xsd:schema>
>
>
> c) and also for "text/xml; subtype=gml/3.1.1":
>
> $ curl -o -
> "
> http://localhost:8080/geoserver/fs/ows?service=WFS&version=2.0.0&request=DescribeFeatureType&typeName=fs%3Afs&outputFormat=text/xml;%20subtype=gml/3.1.1
> "
> <?xml version="1.0" encoding="UTF-8"?><xsd:schema
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:fs="https://localhost/fs"; xmlns:gml="http://www.opengis.net/gml";
> elementFormDefault="qualified" targetNamespace="https://localhost/fs";>
>    <xsd:import namespace="http://www.opengis.net/gml";
> schemaLocation="
> http://localhost:8080/geoserver/schemas/gml/3.1.1/base/gml.xsd"/>
>    <xsd:complexType name="fsType">
>      <xsd:complexContent>
>        <xsd:extension base="gml:AbstractFeatureType">
>          <xsd:sequence>
>            <xsd:element maxOccurs="1" minOccurs="1" name="oid"
> nillable="false" type="xsd:int"/>
>            <xsd:element maxOccurs="1" minOccurs="0" name="geom"
> nillable="true" type="gml:PointPropertyType"/>
>            <xsd:element maxOccurs="1" minOccurs="0" name="f_name"
> nillable="true" type="xsd:string"/>
>            <xsd:element maxOccurs="1" minOccurs="0" name="f_description"
> nillable="true" type="xsd:string"/>
>          </xsd:sequence>
>        </xsd:extension>
>      </xsd:complexContent>
>    </xsd:complexType>
>    <xsd:element name="fs" substitutionGroup="gml:_Feature"
> type="fs:fsType"/>
> </xsd:schema>
>
> If logging is turned up to GEOTOOLS_DEVELOPER the GetFeature request
> produces this into the logs regardless of outputformat.
>
> 10 027 16:27:03 DEBUG  [geotools.jdbc] - CREATE CONNECTION
> 10 027 16:27:03 DEBUG  [geotools.jdbc] - SELECT
> "oid",encode(ST_AsEWKB("geom"), 'base64') as
> "geom","name","description","f_name","f_description" FROM "public"."fs"
> LIMIT 1000000
> 10 027 16:27:03 DEBUG  [geotools.jdbc] - CLOSE CONNECTION
>
> So everything is seemingly as it should be :)
>
> All the best,
> Tõnis
>
>
> --
> @tkardi
>
>
>
> _______________________________________________
> Geoserver-users mailing list
>
> Please make sure you read the following two resources before posting to
> this list:
> - Earning your support instead of buying it, but Ian Turton:
> http://www.ianturton.com/talks/foss4g.html#/
> - The GeoServer user list posting guidelines:
> http://geoserver.org/comm/userlist-guidelines.html
>
> If you want to request a feature or an improvement, also see this:
> https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
>
>
> Geoserver-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to