I want to make the following request (generated from WPS Request Builder ):
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0"
service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.opengis.net/wps/1.0.0"
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:wps="http://www.opengis.net/wps/1.0.0"
xmlns:ows="http://www.opengis.net/ows/1.1"
xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink"
xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>gt:BufferFeatureCollection</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>features</ows:Identifier>
<wps:Reference mimeType="application/wfs-collection-1.0"
xlink:href="http://**.**.**.**:8080/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=rysy:ULICA"
method="GET"/>
</wps:Input>
or
<wps:Reference mimeType="text/xml; subtype=wfs-collection/1.0"
link:href="http://geoserver/wfs" method="POST">
<wps:Body>
<wfs:GetFeature service="WFS" version="1.0.0"
outputFormat="GML2">
<wfs:Query typeName="rysy:ULICA"/>
</wfs:GetFeature>
</wps:Body>
</wps:Reference>
<wps:Input>
<ows:Identifier>buffer</ows:Identifier>
<wps:Data>
<wps:LiteralData>100</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">
<ows:Identifier>result</ows:Identifier>
</wps:RawDataOutput>
</wps:ResponseForm>
</wps:Execute>
Unfortunately, request hangs up. WPS and WFS are on the same server. What is
wrong? Thanks for help.
Best regards,
Bartosz
--
View this message in context: http://osgeo-org.1560.n6.nabble.com/WFS-reference-in-WPS-request-tp4359578p4359578.html
Sent from the GeoServer - User mailing list archive at Nabble.com.
On Thu, Feb 2, 2012 at 6:19 PM, sbartosz <bartosz.sreba@anonymised.com> wrote:
I want to make the following request (generated from WPS Request Builder ):
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0"
service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.opengis.net/wps/1.0.0"
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:wps="http://www.opengis.net/wps/1.0.0"
xmlns:ows="http://www.opengis.net/ows/1.1"
xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink"
xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>gt:BufferFeatureCollection</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>features</ows:Identifier>
<wps:Reference mimeType="application/wfs-collection-1.0"
xlink:href="http://**.**.**.**:8080/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=rysy:ULICA"
method="GET"/>
</wps:Input>
or
<wps:Reference mimeType="text/xml; subtype=wfs-collection/1.0"
link:href="http://geoserver/wfs" method="POST">
<wps:Body>
<wfs:GetFeature service="WFS" version="1.0.0"
outputFormat="GML2">
<wfs:Query typeName="rysy:ULICA"/>
</wfs:GetFeature>
</wps:Body>
</wps:Reference>
<wps:Input>
<ows:Identifier>buffer</ows:Identifier>
<wps:Data>
<wps:LiteralData>100</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">
<ows:Identifier>result</ows:Identifier>
</wps:RawDataOutput>
</wps:ResponseForm>
</wps:Execute>
Unfortunately, request hangs up. WPS and WFS are on the same server. What is
wrong? Thanks for help.
Not sure, it may be that the wfs schema locks prevent wfs feature
collection parsing
and generation at the same time (just a guess, could be wrong here).
If you need to pull data from inside GeoServer it's much better to use the
xlink:href="http://geoserver/wfs" url, which is a fake one GeoServer
will recognize
and will make it so that the data is fed into the process directly
from the source,
without going through parsing and encoding of the GML
Cheers
Andrea
--
-------------------------------------------------------
Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549
http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf
-------------------------------------------------------
Thanks for replay.
geowolf wrote
Not sure, it may be that the wfs schema locks prevent wfs feature
collection parsing
and generation at the same time (just a guess, could be wrong here).
Could you explain it more fully? Why does processing freeze? No exception is
thrown.
geowolf wrote
If you need to pull data from inside GeoServer it's much better to use the
xlink:href="http://geoserver/wfs" url, which is a fake one GeoServer
will recognize
and will make it so that the data is fed into the process directly
from the source,
without going through parsing and encoding of the GML
<wps:Reference mimeType="text/xml; subtype=wfs-collection/1.0"
xlink:href="http://geoserver/wfs" method="POST">
<wps:Body>
<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2">
<wfs:Query typeName="emuia_rysy:EMT_ULICA"/>
</wfs:GetFeature>
</wps:Body>
</wps:Reference>
Is this ok?
--
View this message in context: http://osgeo-org.1560.n6.nabble.com/WFS-reference-in-WPS-request-tp4359578p4361600.html
Sent from the GeoServer - User mailing list archive at Nabble.com.
On Fri, Feb 3, 2012 at 1:35 PM, sbartosz <bartosz.sreba@anonymised.com> wrote:
Not sure, it may be that the wfs schema locks prevent wfs feature
collection parsing
and generation at the same time (just a guess, could be wrong here).
Could you explain it more fully? Why does processing freeze? No exception is
thrown.
The xml parsing/encoding subsystem is a complex and fragile piece of software
that has to deal with schemas that were not known about when the code is
compiled, so it has to build knowledge about them at runtime instead.
This "schema cache" is not thread safe and needs to be locked, when one
portion of GeoServer needs to update it the others have to wait.
What I imagine is going on is that the wps parsing and the wfs encoding
there are happening at the same time, generating a deadlock.
But I'm not sure, it's just a guess.
geowolf wrote
If you need to pull data from inside GeoServer it's much better to use the
xlink:href="http://geoserver/wfs" url, which is a fake one GeoServer
will recognize
and will make it so that the data is fed into the process directly
from the source,
without going through parsing and encoding of the GML
<wps:Reference mimeType="text/xml; subtype=wfs-collection/1.0"
xlink:href="http://geoserver/wfs" method="POST">
<wps:Body>
<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2">
<wfs:Query typeName="emuia_rysy:EMT_ULICA"/>
</wfs:GetFeature>
</wps:Body>
</wps:Reference>
Is this ok?
Yes
Cheers
Andrea
--
-------------------------------------------------------
Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549
http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf
-------------------------------------------------------