Ticket #2473 (closed defect: fixed)

Opened 5 years ago

Last modified 5 years ago

Version number is required when sending a DescribeCoverage request for WCS 1.0.0

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

Description

When sending a DescribeCoverage? to a WCS 1.0.0 server, the version parameter must be present.

See 8.2.2 section of the specification.

In the code it is said that it is optional:

/* version is optional, but we do set a default value of 1.0.0, make sure request isn't for something different */ if(strcmp(params->version, "1.0.0") != 0) {

msSetError(MS_WCSERR, "WCS Server does not support VERSION %s.", "msWCSDispatch()", params->version); msWCSException(map, params->version, "InvalidParameterValue?", "version");

Change History

  Changed 5 years ago by nsavard

For reference the CITE test is:

wcs1-0-0/describecoverage_operations/describecoverage_request/get/kvp/1

  Changed 5 years ago by tomkralidis

  • cc tomkralidis added; tomkradilis removed

  Changed 5 years ago by tomkralidis

  • cc sdlime, warmerdam added; tomkralidis removed
  • owner changed from sdlime to tomkralidis

The code always set version to 1.0.0 in msWCSCreateParams. Will fix.

follow-up: ↓ 6   Changed 5 years ago by tomkralidis

Implemented in r7292. All examples in msautotest/wxs/wcs_simple.map passed version already (yay!), so no change needed there.

Note that GetCoverage also requires VERSION, so this fix applies to GetCoverage requests also, and will subsequently satisfy the similar CITE assertion for GetCoverage.

Norm: does this fix satisfy the assertion?

  Changed 5 years ago by tomkralidis

N.B.: previously, we hardcoded/set version to 1.0.0 in the code. I took this out so that version is treated as a required element for DescribeCoverage and GetCoverage as per this ticket.

Now, WCS GetCapabilities, which, by spec does NOT require VERSION, needs a default version set when returning Capabilties XML. This was previously being done in the hardcode before passing to msWCSGetCapabilities()

The spec says to return the latest supported version, which, if 1.1.1 is there, would be 1.1.1. So I just wanted to check on how comfortable we are in returning 1.1.1 Capabilities when someone does a GetCapabilities request without a VERSION parameter

A quick IRC btw FrankW and myself confirmed that we should not start returning 1.1.1 by default until we are fairly happy with it's correct operation, but we should plan on doing that eventually.

This is now implemented in r7293

in reply to: ↑ 4   Changed 5 years ago by nsavard

Replying to tomkralidis:

Implemented in r7292. All examples in msautotest/wxs/wcs_simple.map passed version already (yay!), so no change needed there. Note that GetCoverage also requires VERSION, so this fix applies to GetCoverage requests also, and will subsequently satisfy the similar CITE assertion for GetCoverage. Norm: does this fix satisfy the assertion?

Tom, it'll satisfy.

  Changed 5 years ago by tomkralidis

  • status changed from new to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.