[Pywps-dev] pywps - json output

Sylvain Beorchia sylvain.beorchia at gmail.com
Sat Oct 22 14:42:11 PDT 2016


Hi all,

Trying to build my first WPS, i want to return JSON outputs. After many
tests, i always got some JSON encoded chars embeded in XML, or clear JSON
embeded in XML...always XML.
Here is the simple code i've tried :


import json
from pywps import Process, LiteralInput, LiteralOutput, OGCUNIT, UOM,
ComplexInput, ComplexOutput, Format, FORMATS

class Test(Process):
    def __init__(self):
        inputs = [LiteralInput('name', 'Input name', data_type='string')]
        outputs = [ComplexOutput('out', 'Referenced Output',
supported_formats=[Format('application/geojson')])]

        super(Test, self).__init__(
            self._handler,
            identifier='cartogsm',
            title='Process Test',
            version='1.0.0.0',
            inputs=inputs,
            outputs=outputs,
            store_supported=True,
            status_supported=True
        )

    def _handler(self, request, response):
        data = json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
        out_bytes = json.dumps(data, indent=2)
        response.outputs['out'].output_format = 'application/json'
        response.outputs['out'].data = out_bytes

        return response


Ouput :
...
<wps:ProcessOutputs>
<wps:Output>
<ows:Identifier>out</ows:Identifier>
<ows:Title>Referenced Output</ows:Title>
<wps:Data>
<wps:ComplexData mimeType="application/geojson">
<![CDATA[
WwogICJmb28iLCAKICB7CiAgICAiYmFyIjogWwogICAgICAiYmF6IiwgCiAgICAgIG51bGwsIAogICAgICAxLjAsIAogICAgICAyCiAgICBdCiAgfQpd
]]>
</wps:ComplexData>
</wps:Data>
</wps:Output>
</wps:ProcessOutputs>
</wps:ExecuteResponse>


How can i return only JSON, with no XML at all ?

Thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pywps-dev/attachments/20161022/3bea0e48/attachment.html>


More information about the pywps-dev mailing list