Hey all,
I'm working on the new generation WFS DataStore. It has (as well as
the old one), a number of strategy objects to deal with specific WFS
implementations oddities.
Now, when determining which wfs client strategy to use, some
heuristics need to be made in order to figure out what WFS
implementation it is talking to.
Most WFS implementations out there have a rather easy way of figuring
that out of the capabilities document: Ionic always declares a Ionic
specific namespace, CubeWerx and MapServer have xml comments that can
be looked for, and so on.
For GeoServer we rely on a more error prone method: looking for the
/geoserver string on the GetCapabilities URL.
Now, it would be important to figure out not only which brand the
target WFS is, but also which version. As the GeoServer WFS client
strategy has a couple workarounds for GeoServer assuming it's version
< 2.0 (for instance, those wasn't able to reliably parse a 1.1 Filter
out of a GetFeature request, but just 1.0 filters).
So the question is if and how would you prefer to let GeoServer
advertise itself as part of the GetCapabilities response.
It could be an http response header, or something in the document
itself. Either comment or fixed namespace declaration, etc.
HTTP response header is nice and less intrusive but I'm weary cause
proxies could override them, right?
Opinions highly welcomed.
Gabriel
--
Gabriel Roldan
OpenGeo - http://opengeo.org
Expert service straight from the developers.