Opened 16 years ago

Last modified 16 years ago

#2476 closed defect

A post request in XML encoding to a WCS 1.0.0 server returns the template specified in the Web object instead the expected response — at Version 5

Reported by: nsavard Owned by: warmerdam
Priority: normal Milestone: 5.2 release
Component: WCS Server Version: 5.0
Severity: normal Keywords: OGC, Cite, TEAM, LEGACY, WCS 1.0.0
Cc: tomkralidis, sdlime, dmorissette

Description (last modified by warmerdam)

A DescribeCoverage, GetCoverage or GetCapabilities request in a form of a post using XML encoding, sends to a WCS 1.0.0 server does not return the expected result. The template in the Web object of the map is returned instead.

I found a thread about a similar issue on the Web:

(see:http://lists.umn.edu/cgi-bin/wa?A2=ind0711&L=mapserver-users&P=16208)

An example of the request sent is:

http://dev1.lan.mapgears.com/manwe/cgi-bin/mswcs100_ogc_cite?

Content sent:

<GetCoverage xmlns="http://www.opengis.net/wcs" xmlns:gml="http://www.opengis.net/gml"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/getCoverage.xsd" version="1.0.0" service="WCS" ><domainSubset><spatialSubset><gml:Envelope srsName="WGS84(DD)">			<gml:pos>-97.7071758865421 41.0324719184183</gml:pos><gml:pos>-80.6778361148771 49.6650665681236</gml:pos>
	</gml:Envelope>	<gml:Grid dimension="2"><gml:limits><gml:GridEnvelope><gml:low>0 0 </gml:low><gml:high>200 100 </gml:high></gml:GridEnvelope></gml:limits><gml:axisName>width</gml:axisName><gml:axisName>height</gml:axisName></gml:Grid></spatialSubset></domainSubset>
<output><format>GEOTIFF_INT16</format></output></GetCoverage>

The following tests are concerned by this issue:

wcs1-0-0/describecoverage_operations/describecoverage_request/post/xml/1 ,2,5,6,7
wcs1-0-0/getcapabilities_operations/getcapabilities_request/post/xml/2,3,4,5,6,7

wcs1-0-0/getcoverage_operations/getcoverage_request/bbox/post/xml/3,4

wcs1-0-0/getcoverage_operations/getcoverage_request/coverage/post/xml/1,3

wcs1-0-0/getcoverage_operations/getcoverage_request/crs/post/xml/3

wcs1-0-0/getcoverage_operations/getcoverage_request/format/post/xml/2,3

wcs1-0-0/getcoverage_operations/getcoverage_request/interpolationmethod/post/xml/2,3

wcs1-0-0/getcoverage_operations/getcoverage_request/parameter/post/xml/3,4

wcs1-0-0/getcoverage_operations/getcoverage_request/response_crs/post/xml/2,3

wcs1-0-0/getcoverage_operations/getcoverage_request/service_version/post/xml/1,2,3

Change History (5)

comment:1 by tomkralidis, 16 years ago

Cc: tomkralidis added; tomkradilis removed

comment:2 by tomkralidis, 16 years ago

Cc: warmerdam added

Looks like we don't support XML POST requests in mapwcs.c. This can be implemented in the same way mapwfs.c or mapogcsos.c are (though mapwcs.c uses CPL and mapogcsos.c uses libxml2 to parse the XML document).

comment:3 by warmerdam, 16 years ago

I'm not interested in support the XML post format for WCS. But we clearly should throw a meaningful exception. I'd be willing to implement this (a reasonable exception report) since I'm digging around in WCS anyways as long as someone else is willing to verify my work once done.

comment:4 by tomkralidis, 16 years ago

Basically, in msWCSParseRequest(), you can check for request->postrequest. If it's set, we can throw an exception.

Norm: what implications does not supporting XML POST have on the CITE tests?

comment:5 by warmerdam, 16 years ago

Cc: sdlime added; warmerdam removed
Description: modified (diff)
Owner: changed from sdlime to warmerdam

Taking this ticket.

Note, I don't think it is quite so simple. We need to ensure we don't interfere with other kinds of POST responses that aren't WCS related. We also have to ensure we don't interfere with WCS KVP post requests (which I have confirmed work).

I think we may need to actually consume the post document at some appropriate point and issue an error if we can determine it is WCS.

Note: See TracTickets for help on using tickets.