Posting an entire XML request document in a single form parameter
A url-encoded post from the form at http://www.opennrm.org/-/ioe/sosbbox.html
is not being accepted by the OGC-IE service (location reserved for IE participants), but the same kind of request (posting an entire xml request document in a single form parameter) is accepted by the other participating services in the OGC-IE.
The Underlying problem:
There are three different technical ways that a RESTlike request can be sent via POST:
- ) in the HTTP body as an xml document, unencoded
- ) in the HTTP body where the xml document elements are broken up as standard KVP pairs, URL encoded.
- ) in the HTTP body where the xml document as a whole is sent as the value of a single KVP, URL encoded
While all the different OGC specifications have some language regarding the service behavior in response to HTTP requests, I believe the authoritative OGC specification in this case is the "OGC Web Services Common specification". In this discussion, I'm using 06-121r3, dated 2007-02-09, obtainable from http://www.opengeospatial.org/standards/common
conflict with the specification. Where's the conflict? The current usage of #3 places the entire xml into a KVP whose key is "request". This key name of "request" is reserved by the OGS specification for KVP POST, and its value is supposed to be "Operation name text" such as "GetCapabilities", not an entire xml document.
Tom's going to go ahead and accept method #3 just to be compatible with the other participating services in the OGC-IE, but I think that if we're really serious about this functionality, then we need to propose an addition to the OGC Web Services Common specification using a non-conflicting key name such as "request-body" or something.