[OWSLib-users] Help with wps.execute

Carsten Ehbrecht ehbrecht at dkrz.de
Wed Aug 28 05:18:52 PDT 2019


Hello Alastair,

I checked the describeProcess:
http://localhost:8080/geoserver/wps?service=wps&version=1.0.0&request=DescribeProcess&identifier=vec:Simplify <http://localhost:8080/geoserver/wps?service=wps&version=1.0.0&request=DescribeProcess&identifier=vec:Simplify> 

The process expects a ComplexInput (a url to a resource) as “features” input.

You can also try wps “get” requests without owslib to test the process:
http://geoprocessing.info/wpsdoc/1x0Execute <http://geoprocessing.info/wpsdoc/1x0Execute> 


Here an example with a ComplexInput:
https://bovec.dkrz.de/ows/proxy/emu?service=WPS&version=1.0.0&request=Execute&identifier=wordcounter&DataInputs=text=@xlink:href=http://pywps.org <https://bovec.dkrz.de/ows/proxy/emu?service=WPS&version=1.0.0&request=Execute&identifier=wordcounter&DataInputs=text=@xlink:href=http://pywps.org> 

Cheers,
Carsten

> On 28 Aug 2019, at 12:50 pm, Alastair Graham <a.graham at geoger.co.uk> wrote:
> 
> Hello
> I am trying to get a simple WPS call to work using the standard tools in Geoserver (vec:Simplify using topp:states data) and owslib. I keep coming up with the following error:
> 
> owslib.wps.WPSException : {'code': 'NoApplicableCode', 'locator': None, 'text': 'Failed to retrieve value for input features\norg.geoserver.wps.ppio.WFSPPIO$WFS10 cannot be cast to org.geoserver.wps.ppio.LiteralPPIO'}
> 
> I think I know what it means (a clash of formats?) but don't know how to resolve it. All the WMS, WFS and WPS GetCapabilities and DescribeProcess work fine, it's just the Execute component that is failing. 
> 
> Geoserver: I am using the latest container from meteofi (https://hub.docker.com/r/meteofi/geoserver <https://hub.docker.com/r/meteofi/geoserver>)
> Data: I am trying to get this running on the data supplied with Geoserver (topp:states) before I try my own data.
> 
> Code: 
> from owslib.wps import WebProcessingService, monitorExecution, printInputOutput
> 
> serverURL = 'http://localhost:8080/geoserver/wps <http://localhost:8080/geoserver/wps>'
> 
> wps = WebProcessingService(serverURL, verbose=False, skip_caps=True)
> processid = 'vec:Simplify'
> inputs = [('features','topp:states'),
>             ('distance', '10'),
>             ('preserveTopology', 'True')]
> 
> execution = wps.execute(processid, inputs)
> if execution.isSucceded:
>     output, = execution.processOutputs
>     print(output.data)
> 
> I can get this to work using the Geoserver WPS request builder, and using an XML file through Curl, so I guess the issue is with my Python. 
> Any pointers on what I need to do to handle this issue would be really appreciated
> 
> Thanks
> Alastair
> 
> 
> | Alastair Graham 
> 
> This email may contain confidential material and is for use only by the intended recipient. 
> If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers.
> _______________________________________________
> OWSLib-users mailing list
> OWSLib-users at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/owslib-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/owslib-users/attachments/20190828/60499cee/attachment.html>


More information about the OWSLib-users mailing list