GeoServer hang up on transaction including xsi:schemaLocation
-------------------------------------------------------------
Key: GEOS-4899
URL: https://jira.codehaus.org/browse/GEOS-4899
Project: GeoServer
Issue Type: Bug
Components: WFS
Affects Versions: 2.1.2
Environment: GeoServer 2.1.2/trunk, release data directory, WFS 1.0
Reporter: Gabriel Roldán
Assignee: Justin Deoliveira
Priority: Critical
Fix For: 2.1.3
Attachments: tx_noschemaloc.xml, tx.xml
When performing a WFS 1.0 transaction, if the transaction xml document includes xsi:schemaLocation, a call to DescribeFeatureType is internally made and GeoServer hangs up, never reaching to the Transaction element handler.
On the other hand, if the transaction xml document doesn't include xsi:schemaLocation, the transaction is performed ok.
To reproduce, use the two attached transaction documents.
The following request hangs up forever and makes any further DFT request to also never return:
{code}
curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' -d @tx.xml -v "http://localhost:8080/geoserver/wfs"
{code}
The following request do work:
{code}
curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' -d @tx_noschemaloc.xml -v "http://localhost:8080/geoserver/wfs"
{code}
Both transactions work on GeoServer 2.1.0.
For reference, here are the contents of both transactions, which only differ on the presence of xsi:schemaLocation:
tx.xml:
{code}
<Transaction xmlns:topp="http://www.openplans.org/topp"
xmlns="http://www.opengis.net/wfs"
xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openplans.org/topp http://localhost:8080/geoserver/wfs?request=DescribeFeatureType&SERVICE=WFS&VERSION=1.0.0&TYPENAME=topp:states"
version="1.0.0"
service="WFS"
>
<Update typeName="topp:states">
<Property>
<Name>PERSONS</Name>
<Value>1000</Value>
</Property>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>STATE_NAME</ogc:PropertyName>
<ogc:Literal>Illinois</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</Update>
</Transaction>
{code}
tx_noschemaloc.xml :
{code}
<Transaction xmlns:topp="http://www.openplans.org/topp"
xmlns="http://www.opengis.net/wfs"
xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="1.0.0"
service="WFS"
>
<Update typeName="topp:states">
<Property>
<Name>PERSONS</Name>
<Value>1000</Value>
</Property>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>STATE_NAME</ogc:PropertyName>
<ogc:Literal>Illinois</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</Update>
</Transaction>
{code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira