Ich versuche, die einfachste WFS HTTP_POST-Anfrage gegen einen GeoServer WFS-Endpunkt zu arbeiten.Ungültige Typnamen in WFS: GetFeatures POST?
Diese HTTP_GET Anfrage funktioniert, und gibt, was ich (Zeilenumbrüche für Klarheit eingefügt) erwarten:
http://mygeoserver.com/geoserver/ows?
service=wfs&
version=2.0.0&
request=getfeature&
count=3&
typenames=mynamespace:myfeaturetype&
cql_filter=dccode=%27XYZ%27
Ich würde erwarten, dass diese HTTP_POST Anfrage:
http://mygeoserver.com/geoserver/ows
mit dieser Anfrage Körper:
<GetFeature
version="2.0.0"
service="WFS"
count="3"
xmlns="http://www.opengis.net/wfs/2.0"
xmlns:fes="http://www.opengis.net/fes/2.0"
xmlns:gsml="http://xmlns.geosciml.org/GeoSciML-Core/3.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wfs/2.0
http://schemas.opengis.net/wfs/2.0/wfs.xsd"
>
<Query
typeNames="mynamespace:myfeaturetype"
>
<Filter
xmlns="http://www.opengis.net/fes/2.0"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:gsml="http://xmlns.geosciml.org/GeoSciML-Core/3.2" >
<PropertyIsEqualTo>
<ValueReference>dccode</ValueReference>
<Literal>XYZ</Literal>
</PropertyIsEqualTo>
</Filter>
</Query>
</GetFeature>
, um das gleiche zurückzugeben.
Stattdessen bekomme ich einen Fehler:
cvc-datatype-valid.1.2.3: 'mynamespace:myfeaturetype' is not a valid value of union type 'TypeNamesType'.
cvc-attribute.3: The value 'mynamespace:myfeaturetype' of attribute 'typeNames' on element 'Query' is not valid with respect to its type, 'TypeNamesListType'.
Was mich für eine Schleife ist zu werfen ist, dass der gleiche Wert, der für den typeNames Parameter in der HTTP_GET arbeitet einen Fehler in der HTTP_POST wirft.
Das Problem scheint zu sein, dass ich eine Namespacedefinition im XML für "mynamespace" angeben muss.
<Query
typeNames="mynamespace:myfeaturetype"
xmlns:mynamespace="http://????"
>
Ich gehe davon aus, dass diese verfügbar ist, irgendwo in meiner GeoServer Installation. Aber wo?