I have been trying out several solutions to try to work with GML 3.2 geometry served through WFS 2.0 data services.
There seems to be very little experience and software out there that manages to handle complex feature types and GML3.2 geometries.
I have been trying out 52 north's WPS package, which is supposed to fully support GML2.1 > GML3.2 and also should process data with plugins for GRASS, sextante etc.
However while trying to send a POST processing request, for example unsing one of my public WFS2.0 > GML3.2 geometries I get the following error:
org.xml.sax.SAXException: Handler for gml:MultiSurface could not be found.
You can see this happening if you are sending a POST request to the following URL: http://geoprocessing.demo.52north.org/latest-wps/WebProcessingService?
The GML3.2 data I am sending as input data: http://inspire.biodiversity.ro/geoserver/ows?service=wfs&version=2.0.0&request=getfeature&typename=au:AdministrativeUnit&featureID=BC
or
I am using the Open HTTP requester plugin from Firefox to submit this reqeust, sending the request as application/xml. This is the body of the request I am sending:
<Execute service="WPS" version="1.0.0"
xmlns="http://www.opengis.net/wps/1.0.0"
xmlns:ns="http://www.opengis.net/ows/1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:base="http://inspire.ec.europa.eu/schemas/base/3.3"
xmlns:au="http://inspire.ec.europa.eu/schemas/au/4.0"
xmlns:br="http://inspire.ec.europa.eu/schemas/br/4.0"
xmlns:ps="http://inspire.ec.europa.eu/schemas/ps/4.0"
xmlns:gn="http://inspire.ec.europa.eu/schemas/gn/4.0"
xmlns:gco="http://www.isotc211.org/2005/gco"
xmlns:gmd="http://www.isotc211.org/2005/gmd"
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/3.2"
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"
xmlns:it.geosolutions="http://www.geo-solutions.it"
xsi:schemaLocation="
http://www.opengis.net/wps/1.0.0
http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd
http://inspire.ec.europa.eu/schemas/au/4.0 http://inspire.ec.europa.eu/schemas/au/4.0/AdministrativeUnits.xsd
http://www.opengis.net/gml/3.2
http://inspire.biodiversity.ro:80/geoserver/schemas/gml/3.2.1/gml.xsd
http://www.opengis.net/wfs/2.0
http://inspire.biodiversity.ro:80/geoserver/schemas/wfs/2.0/wfs.xsd"
> <ns:Identifier>org.n52.wps.server.algorithm.intersection.IntersectionAlgorithm</ns:Identifier>
<DataInputs>
<Input>
<ns:Identifier>Polygon1</ns:Identifier>
<Reference mimeType="text/xml; subtype=gml/3.2.1" xlink:href="http://inspire.biodiversity.ro/geoserver/ows?service=wfs&version=2.0.0&request=getfeature&typename=au:AdministrativeUnit&featureID=BC"/>
</Input>
<Input>
<ns:Identifier>Polygon2</ns:Identifier>
<Reference mimeType="text/xml; subtype=gml/3.2.1" xlink:href="http://inspire.biodiversity.ro/geoserver/ows?service=wfs&version=2.0.0&request=getfeature&typename=au:AdministrativeUnit&featureID=EPT"/>
</Input>
</DataInputs>
<ResponseForm>
<ResponseDocument>
<Output mimeType="application/WFS">
<ns2:Identifier xmlns:ns1="http://www.opengis.net/ows/1.1" xmlns:ns="http://www.opengis.net/wps/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://www.opengis.net/ows/1.1">intersection_result</ns2:Identifier>
</Output>
</ResponseDocument>
</ResponseForm>
</Execute>