geopython/pywps

Execute request fails with input identifier as id attribute (id=identifier)

geotom opened this issue · 2 comments

Description

Using a an npm package for WPS on the client, the switch to WPS 2.0.0 (for advanced feature) produces
WPS Execute requests in the following form

2.0.0 EXECUTE

...
<wps:Input id="pixel_size">
  <wps:Data mimeType="text/xml">
     <wps:LiteralValue dataType="xs:double">4</wps:LiteralValue>
  </wps:Data>
</wps:Input>
...

instead of this form (when using 1.0.0)

1.0.0 EXECUTE

...
<wps:Input>
    <ows:Identifier>pixel_size</ows:Identifier>
    <wps:Data>
        <wps:LiteralData>56</wps:LiteralData>
    </wps:Data>
</wps:Input>
...

I am not sure if this is a valid WPS request, but PyWPS execution fails when the first format is used with this error

<ows:Exception exceptionCode="MissingParameterValue" locator="area_of_interest" >
    <ows:ExceptionText>area_of_interest</ows:ExceptionText>
</ows:Exception>

Environment

  • operating system:
  • Python version: 3.8
  • PyWPS version: 4.5.1
  • source/distribution
  • git clone
  • Debian
  • PyPI
  • zip/tar.gz
  • [] other:
  • web server
  • Apache/mod_wsgi
  • CGI
  • other (gunicorn + nginx):

Steps to Reproduce

Send a WPS Service EXECUTE request with the 2.0.0 format

@geotom There was already some work on WPS 2.0.0 ... but it is not completed. So, only WPS 1.0.0 is supported.

ok. Thanks for the info @cehbrecht. I had a hard time finding a definitive answer on WPS 2.0.0 support, because it is clearly there, but somehow not working