1

In WCS 2.0 & 1.1, I'm looking for generate exceptionCode "OperationNotSupported" which is defines in OGC Documentations (WCS 1.1 / WCS 2.0 / OWS 1.1 / OWS 2.0). With MapServer 7, I've tested: http://hostname:port/path?service=WCS&request=GetZZZ.

XML response gives en error with exccode "InvalidParameterValue" I understand why there is this exceptionCode because it's an invalid parameter but when I can do the output with exceptionCode "OperationNotSupported"?

What do I do for that?

What is the difference between "OperationNotSupported" and "InvalidParameterValue"?

3
  • 1
    What if you add a version number parameter? Because all requests other the GetCapabilities require a version number. So the InvalidParameterValue might be telling you that there is no version...
    – nmtoken
    Commented Mar 16, 2018 at 15:08
  • There is the same exceptionCode with "...&version=1.1.1&identifier=xxxx" and "...&version=2.0.1&coverageid=xxxx"with DescribeCoverage request. In this case the layer "xxxx" exists Commented Mar 16, 2018 at 15:16
  • In that case Mapserver is probably reporting the wrong error code, and you should submit a bug
    – nmtoken
    Commented Mar 16, 2018 at 15:26

2 Answers 2

1

OWS Common, which is what WCS uses to define errors etc, tells us that:

InvalidParameterValue: Operation request contains an invalid parameter value

and

OperationNotSupported: Request is for an operation that is not supported by this server

and also

OptionNotSupported: Request is for an option that is not supported by this server

An Operation here is intended to mean GetCapabilities, GetCoverage, DescribeCoverage (from WCS core), but could include other operations provided by extensions, such as ProcessCoverages or DescribeSpatialObjectType... even though these are specified using parameter values in a request.

An invalid parameter is when a parameter value (other than a value specified using a request parameter) is completely wrong, so considering the KVP syntax (HTTP GET) as below:

KVP syntax (name=value&)

If you were to specify version=9.2.7& then you should get the InvalidParameterValue error.

If you were to specify request=getcapabilites& then you should get OperationNotSupported, because in KVP syntax the value is case sensitive, and the specification tells us we must use the spelling GetCapabilities.

Similarly if you specify Request=GetXXX& then you should get OperationNotSupported

So in this example from a GeoServer service:

http://xxx.bgs.ac.uk/BGS_EMODNET/ows?service=WCS&request=GetXXX&version=2.0.1&

Gives us:

<ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0" xsi:schemaLocation="http://www.opengis.net/ows/2.0 http://schemas.opengis.net/ows/2.0/owsExceptionReport.xsd">
  <ows:Exception exceptionCode="OperationNotSupported" locator="GetXXX">
    <ows:ExceptionText>No such operation WCS 2.0.1 GetXXX
[]</ows:ExceptionText>
  </ows:Exception>
</ows:ExceptionReport>

Which is the expected response

I see that MapServer for a similar request

http://yyy.bgs.ac.uk/cgi-bin/BGS_EMODnet_bathymetry/ows?service=WCS&version=2.0.1&request=GetXXX&CoverageId=BGS_EMODNET_AegeanLevantineSeas-MCol&

Gives us:

<?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.1" xml:lang="en-US" xsi:schemaLocation="http://www.opengis.net/ows/2.0 http://schemas.opengis.net/ows/2.0/owsExceptionReport.xsd">
  <ows:Exception exceptionCode="InvalidParameterValue" locator="request">
    <ows:ExceptionText>msWCSDispatch(): WCS server error. Invalid REQUEST parameter "GetXXX"</ows:ExceptionText>
  </ows:Exception>
</ows:ExceptionReport>

Which is not the expected response, so that is an error/misinterpretation of the specification and you may want to file a bug report.

1
  • Tkank you for your answer ! I will write a bug report to mapserver developpers for that mistake Commented Mar 19, 2018 at 14:03
-1

An invalid parameter is when a parameter is completely wrong, so when you ask for a request of getZZZ that is invalid as no WCS would ever give you a valid response for that.

An Operation Not Supported is returned when you make a valid request for something but this server chooses not to support that, I can't think of a WCS operation off the top of my head but for example a WMS may choose not to provide a GetFeatureInfo response by saying OperationNotSupported.

1
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – Ian Turton
    Commented Mar 16, 2018 at 15:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.