[Pywps-dev] PyWPS support for ExecuteResponseLocation, providing process status
Jonas Eberle
jonas.eberle at gmx.de
Wed Apr 20 08:00:50 PDT 2016
Can you try the following URL:
localhost/wps/?service=WPS&request=GetCapabilities
Cheers,
Jonas
----- Am 20. Apr 2016 um 12:38 schrieb Robin Skahjem-Eriksen <skahjem-eriksen at stcorp.no>:
> I am wondering if I have stumbled upon a bug, if not, I find the response quite
> cryptic:
> request:
> localhost/wps/?service=WPS&request=Execute&Identifier=ipf&version=1.0.0&DataInputs=processor_name=ST_IPF_TESTER;processor_version=01.13;input_selector=time-range;muninn_query=validity_stop
> > 1980-07-03 and validity_start <
> 1980-07-05&status=true&storeExecuteResponse=true
> reponse:
> <!-- PyWPS 4.0.0-alpha2 -->
> <wps:ExecuteResponse xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
> http://schemas.opengis.net/wps/1.0.0/wpsExecute_response.xsd" service="WPS"
> version="1.0.0" xml:lang="en-US"
> serviceInstance="http://localhost/wps?service=WPS&request=GetCapabilities"
> statusLocation="http://localhost/wps/3c7e38b6-06e0-11e6-8f17-0242ac190008.xml">
> <wps:Process wps:processVersion="0.1">
> <ows:Identifier>ipf</ows:Identifier>
> <ows:Title>Generic IPF processor</ows:Title>
> <ows:Abstract>Processors for handling IPF products</ows:Abstract>
> </wps:Process>
> <wps:Status creationTime="2016-04-20T10:11:23Z">
> <wps:ProcessAccepted>PyWPS Process ipf accepted</wps:ProcessAccepted>
> </wps:Status>
> </wps:ExecuteResponse>
> The document (http://localhost/wps?service=WPS&request=GetCapabilities):
> <!-- PyWPS 4.0.0-alpha2 -->
> <ows:ExceptionReport xsi:schemaLocation="http://www.opengis.net/ows/1.1
> http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd" version="1.0.0">
> <ows:Exception exceptionCode="MissingParameterValue" locator="service">
> <ows:ExceptionText>service</ows:ExceptionText>
> </ows:Exception>
> </ows:ExceptionReport>
> I am wondering why the exception is raised, when my Execute request contains the
> service attribute.
> Is this a bug, or am I missing something?
> Med vennlig hilsen / With kind regards,
> Robin Skahjem-Eriksen
> Software developer
> Science [&] Technology AS
> Reg. nr.: 996 229 009 MVA
> [E]: skahjem-eriksen at stcorp.no
> [Address]:
> Forskningsparken
> Gaustadalléen 21
> 0349 Oslo
> Norway
> [W]: http://www.stcorp.no
> [P]:+47 45 911 694
> [E]: info at stcorp.no
>> On Apr 20 2016, at 12:01 pm, Robin Skahjem-Eriksen <skahjem-eriksen at stcorp.no>
>> wrote:
>> Thank you so much for catching that and sharing it with me.
>> Med vennlig hilsen / With kind regards,
>> Robin Skahjem-Eriksen
>> Software developer
>> Science [&] Technology AS
>> Reg. nr.: 996 229 009 MVA
>> [E]: skahjem-eriksen at stcorp.no
>> [Address]:
>> Forskningsparken
>> Gaustadalléen 21
>> 0349 Oslo
>> Norway
>> [W]: http://www.stcorp.no
>> [P]:+47 45 911 694
>> [E]: info at stcorp.no
>>> On Apr 20 2016, at 11:57 am, Jonas Eberle <jonas.eberle at gmx.de> wrote:
>>> You have an error in the request, storeExecuteResponse=true and status=true are
>>> individual attributes of the request, in your example these are data inputs!
>>> Please use & storeExecuteResponse=true & status=true at the end instead using
>>> the semicolon. Using the "old" PyWPS I also embraced the data inputs with
>>> brackets, this leads to less errors in my opinion: DataInputs= [
>>> processor_name=ST_IPF_;processor_version=01.13 ]
>>> Cheers,
>>> Jonas
>>> ----- Am 20. Apr 2016 um 10:05 schrieb Robin Skahjem-Eriksen
>>> <skahjem-eriksen at stcorp.no>:
>>>> Jonas, thank you for your clarification on the request attributes and the
>>>> changes to the WPS spec.
>>>> I have added `status=true`to the execution request in addition to the
>>>> aforementioned attributes, and I still don't get a reponse with any URL to the
>>>> ResponseDocument.
>>>> My request looks like this:
>>>> http://localhost/wps/?service=WPS&request=Execute&Identifier=ipf&version=1.0.0&DataInputs=processor_name=ST_IPF_TESTER;processor_version=01.13;input_selector=time-range;muninn_query=validity_stop
>>>> > 1980-07-03 and validity_start <
>>>> 1980-07-05;storeExecuteResponse=true;status=true
>>>> And the process is defines as such:
>>>> class IPF(Process):
>>>> def __init__(self):
>>>> inputs = [
>>>> LiteralInput(
>>>> 'processor_name',
>>>> 'IPF processor name',
>>>> data_type='string'
>>>> ),
>>>> LiteralInput(
>>>> 'processor_version',
>>>> 'IPF processor version',
>>>> data_type='string'
>>>> ),
>>>> LiteralInput(
>>>> 'input_selector',
>>>> 'SOL input selection',
>>>> data_type='string'
>>>> ),
>>>> LiteralInput(
>>>> 'muninn_query',
>>>> 'Muninn product catalog query string',
>>>> data_type='string'
>>>> ),
>>>> ]
>>>> outputs = [
>>>> LiteralOutput(
>>>> 'ipf_result',
>>>> 'SUCCESS/FAILURE',
>>>> data_type='string'
>>>> )
>>>> ]
>>>> super(IPF, self).__init__(
>>>> self._handler,
>>>> identifier='ipf',
>>>> version='0.1',
>>>> title='Generic IPF processor',
>>>> abstract='Processors for handling IPF products',
>>>> inputs=inputs,
>>>> outputs=outputs,
>>>> store_supported=True,
>>>> status_supported=True
>>>> )
>>>> (.. handler omitted ..)
>>>> Am I missing something?
>>>> Med vennlig hilsen / With kind regards,
>>>> Robin Skahjem-Eriksen
>>>> Software developer
>>>> Science [&] Technology AS
>>>> Reg. nr.: 996 229 009 MVA
>>>> [E]: skahjem-eriksen at stcorp.no
>>>> [Address]:
>>>> Forskningsparken
>>>> Gaustadalléen 21
>>>> 0349 Oslo
>>>> Norway
>>>> [W]: http://www.stcorp.no
>>>> [P]:+47 45 911 694
>>>> [E]: info at stcorp.no
>>>>> On Apr 19 2016, at 9:26 pm, Jonas Eberle <jonas.eberle at gmx.de> wrote:
>>>>> Hi Robin,
>>>>> I guess you're looking for the "statusLocation" attribute of the ExecuteResponse
>>>>> tag. The value of this attribute is the URL to the response document,
>>>>> especially needed when you use asynchronous execution (both, status=true and
>>>>> storeExecuteResponse=true, needed in the execute request). There is no
>>>>> executeResponseLocation element, please see the "Corrigendum for OpenGIS
>>>>> Implementation Standard Web Processing Service (WPS) 1.0.0 (0.0.8)" [1].
>>>>> Best regards,
>>>>> Jonas
>>>>> [1] = http://portal.opengeospatial.org/files/?artifact_id=32766
>>>>> ----- Am 19. Apr 2016 um 11:09 schrieb Robin Skahjem-Eriksen
>>>>> <skahjem-eriksen at stcorp.no>:
>>>>>> I am trying to get pywps working so that a ResponseDocument is used to show the
>>>>>> process status, by having the Execute response provide a URL to the
>>>>>> ResponseDocument, as specified in the WPS 1.0 standard.
>>>>>> I am not sure if pywps actually supports this and if so, the feature is not well
>>>>>> documented. I see that pywps supports serving output files and serving these,
>>>>>> and I was hoping that this could be used to provide the response document.
>>>>>> I initialize a Process object with `store_supported` and `status_supported` set
>>>>>> to `True` and provide `storeExecuteResponse=true` in the GET request. However,
>>>>>> I haven't manged to receive a response containing the `executeResponseLocation`
>>>>>> element, and I cannot find any code in the master branch code base that handles
>>>>>> an `ExecuteResponseLocation`.
>>>>>> Am I missing anything, or is this feature simply not supported by pywps?
>>>>>> Med vennlig hilsen / With kind regards,
>>>>>> Robin Skahjem-Eriksen
>>>>>> Software developer
>>>>>> Science [&] Technology AS
>>>>>> Reg. nr.: 996 229 009 MVA
>>>>>> [E]: skahjem-eriksen at stcorp.no
>>>>>> [Address]:
>>>>>> Forskningsparken
>>>>>> Gaustadalléen 21
>>>>>> 0349 Oslo
>>>>>> Norway
>>>>>> [W]: http://www.stcorp.no
>>>>>> [P]:+47 45 911 694
>>>>>> [E]: info at stcorp.no
>>>>>> _______________________________________________
>>>>>> pywps-dev mailing list
>>>>>> pywps-dev at lists.osgeo.org
>>>>>> http://lists.osgeo.org/mailman/listinfo/pywps-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pywps-dev/attachments/20160420/bf82dc11/attachment-0001.html>
More information about the pywps-dev
mailing list