Astrid Emde (WhereGroup) ha scritto:
Hello devs,
I am using GeoServer 1.6.3 as WFS with Mapbender.
This looks like a question for the users list. The devel list is for developers to discuss new features and manage the evolution of geoserver, the users list is for discussing usage of geoserver and
issues encountered trying to do so.
> Mapbender offers a
digitize functionality. Everything worked fine with previous versions. Now with GeoServer 1.6.2 the SchemaLocation-definition in the Transaction-Request needs the describeFeatureType-Request (this is fine and follows the OGC WFS Standard).
So we added the Request to the Transaction. (as we know the describeFeaturType-Request from the onlineresource). This was something like:
http://localhost:8080/geoserver/wfs?request=DescribeFeatureType&typename=topp:tasmania_roads
It still works fine, here is a sample against a GeoServer 1.6.2:
http://geo.openplans.org:8080/geoserver/wfs/DescribeFeatureType?typename=topp:tasmania_roads
that properly returns the result, assuming a WFS 1.1.0 request since you did not specify the version... which is bad, the above request is invalid according to the WFS standard, the version must always be specified. We just don't throw an exception because we did not use to in previous versions.
Maybe you expected a WFS 1.0.0 response instead, that you can get with:
http://geo.openplans.org:8080/geoserver/wfs/DescribeFeatureType?typename=topp:tasmania_roads&version=1.0.0
But GeoServer expects the request like:
http://localhost:8080/geoserver/wfs/DescribeFeatureType?typename=topp:tasmania_roads
The problem is that the POST-ONLINESESOURCE definition in the getCapabilities-request says.
-------------------
<DescribeFeatureType>
<SchemaDescriptionLanguage>
<XMLSCHEMA/>
</SchemaDescriptionLanguage>
<DCPType>
<HTTP>
<Get onlineResource="http://localhost:8080/geoserver/wfs?request=DescribeFeatureType"/>
</HTTP>
</DCPType>
<DCPType>
<HTTP>
<Post onlineResource="http://localhost:8080/geoserver/wfs?"/>
</HTTP>
</DCPType>
</DescribeFeatureType>
----------------------------------
This is what the client uses.
That one works fine as well. There is no trouble in exposing DescribeFeatureType at two different URL standard wise, the one
you cited above in fact was used in 1.5.x times and it's still
around for backwards compatibility, but the proper one is the
one cited by the capabilities.
Here are two samples for wfs 1.0.0 and wfs 1.1.0 that do work:
http://geo.openplans.org:8080/geoserver/wfs?service=WFS&request=DescribeFeatureType&typeName=topp:tasmania_roads&version=1.0.0
http://geo.openplans.org:8080/geoserver/wfs?service=WFS&request=DescribeFeatureType&typeName=topp:tasmania_roads&version=1.1.0
I think this is a bug. You should change the POST-ONLINESESOURCE definition for the describefeatureType in the getCapabilities-request to "http://localhost:8080/geoserver/wfs/DescribeFeatureType?"\. Or even better: accept to use the GET-Request in the Transaction-request.
As far as I can see we accept all the requests you cited above.
May it be you're tripping of the different default WFS version you
get when making requests without an explicit &version=x.y.z parameter?
Cheers
Andrea