Hi List,

I'm using OpenLayers 2.10 in tandem with the last version of GeoServer 2.1.1.
I have a WFS layer defined on the map.
When i'm trying to "insert" or "delete" a feature -all works fine,
but in case of updating- i'm getting the same type error, doesn't matter what Postgres/Postgis table i want to update
or the number/type of fields it has.
Looking at the GeoServer's log, i found that the error is described by these lines:
--------------------------------------------------------------------------------------------------
2011-08-01 09:09:09,582 DEBUG [geotools.jdbc] - Updating features with prepared statement: UPDATE "public"."HOTSPOT" SET "the_geom" = GeomFromWKB(?, -1),"information" = ?,"name" = ? WHERE ("id" = ?) 2011-08-01 09:09:09,582 DEBUG [geotools.jdbc] - 1 = POINT (653316.2501440654 6861850.475276666)
2011-08-01 09:09:09,582 DEBUG [geotools.jdbc] - 2 = hotspot info
2011-08-01 09:09:09,582 DEBUG [geotools.jdbc] - 3 = hotspot
2011-08-01 09:09:09,582 ERROR [geoserver.wfs] - Transaction failed
org.geoserver.wfs.WFSTransactionException: Update error: org.postgresql.util.PSQLException: The column index is out of range: 5, number of columns: 4.

The WFS-T request:
----------------------------------------------------------------------------
            var featureType = 'HOTSPOT';
                          var featurePrefix = 'PP';
                          var srsName = 'EPSG:2154';
                          var url = "http://localhost:80/geoserver/wfs"; ;

            var layer = new OpenLayers.Layer.Vector("hotspot", {
projection: new OpenLayers.Projection(srsName),
                               protocol: new OpenLayers.Protocol.WFS({
                                   version: "1.1.0",
                                   url: url,
                                   featureType: featureType,
                                   featureNS: 'http://www.pp.fr',
                                   srsName: srsName,
                                   geometryName: "the_geom",
schema: url + '/DescribeFeatureType?version=1.0.0&TypeName=' +featurePrefix +':'+ featureType
                                  }),
                                   styleMap: style_Map,
                           });
The posted GML was the following:
-------------------------------------------------------------------------------------------------
<wfs:Transactionxmlns:wfs="http://www.opengis.net/wfs"service="WFS"version="1.1.0"xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd http://www.pp.fr http://localhost:80/geoserver/wfs/DescribeFeatureType?version=1.0.0&TypeName=PP:HOTSPOT"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
<wfs:UpdatetypeName="feature:HOTSPOT"xmlns:feature="http://www.pp.fr";>
<wfs:Property>
<wfs:Name>the_geom</wfs:Name>
<wfs:Value>
<gml:Pointxmlns:gml="http://www.opengis.net/gml"srsName="EPSG:2154";>
<gml:pos>653316.2501440654 6861850.475276666</gml:pos>
</gml:Point>
</wfs:Value>
</wfs:Property>
<wfs:Property>
<wfs:Name>id</wfs:Name>
<wfs:Value>9</wfs:Value>
</wfs:Property>
<wfs:Property>
<wfs:Name>information</wfs:Name>
<wfs:Value>hotspot info</wfs:Value>
</wfs:Property>
<wfs:Property>
<wfs:Name>name</wfs:Name>
<wfs:Value>hotspot</wfs:Value>
</wfs:Property>
<ogc:Filterxmlns:ogc="http://www.opengis.net/ogc";>
<ogc:FeatureIdfid="HOTSPOT.9"></ogc:FeatureId>
</ogc:Filter>
</wfs:Update>
</wfs:Transaction>

After doing some tests, i noticed that the error is caused by sending "ID" (primary key) as a property. If i modify the post and exclude the "id" attribute, the feature is saved successfully. So, what's wrong with my request?

Regards,
Dorin
_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users

Reply via email to