Hi,

I don't see anything wrong with your code and the WFS request. I seem to 
remember that there are issues when WFS-T inserting to an empty feature type, 
but for a more qualified reply you may want to ask your question on the 
geoserver-users list.

Regards,
Andreas.

On Sep 21, 2010, at 11:22 , Viggo Lunde wrote:

> Hi
> I was in Foss4G Barcelona and got this great tutorial on GeoExt Editng.
> And it works very well on shape-files in geoserver.
> But we want to use postGIS and have tried to make a testtable like this.
> 
>  Column |         Type          |
> Modifiers                           
> --------+-----------------------+---------------------------------------
> --------+-----------------------+-----------------------
>  fid    | integer               | not null default
> nextval('test.wfstrans2_fid_seq'::regclass)
>  info   | character varying(40) | 
>  geo    | geometry              | 
> Indexes:
>     "wfstrans2_pkey" PRIMARY KEY, btree (fid)
>     "geoidx_test__wfstrans2" gist (geo)
> Check constraints:
>     "enforce_dims_geo" CHECK (st_ndims(geo) = 2)
>     "enforce_geotype_geo" CHECK (geometrytype(geo) = 'POLYGON'::text OR geo 
> IS NULL)
>     "enforce_srid_geo" CHECK (st_srid(geo) = 32632)
> 
> 
> The client posts this:
> 
> <wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs"; service="WFS" 
> version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wfs 
> http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><wfs:Insert><feature:wfstrans2
>  xmlns:feature="http://www.skogoglandskap.no";><feature:geo><gml:MultiPolygon 
> xmlns:gml="http://www.opengis.net/gml"; 
> srsName="EPSG:32632"><gml:polygonMember><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates
>  decimal="." cs="," ts=" ">523671.86,6839648 447847.86,6788196 
> 558875.86,6790904 
> 523671.86,6839648</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></gml:polygonMember></gml:MultiPolygon></feature:geo><feature:info>test1</feature:info></feature:wfstrans2></wfs:Insert></wfs:Transaction>
> 
> 
> And i get this errormessage:
> 
> <?xml version="1.0" encoding="UTF-8"?><wfs:WFS_TransactionResponse 
> version="1.0.0" xmlns:wfs="http://www.opengis.net/wfs"; 
> xmlns:ogc="http://www.opengis.net/ogc"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:schemaLocation="http://www.opengis.net/wfs 
> http://kartutv7:80/geoserver_intern/schemas/wfs/1.0.0/WFS-transaction.xsd";><wfs:InsertResult><ogc:FeatureId
>  fid="none"/></wfs:InsertResult> <wfs:TransactionResult> <wfs:Status> 
> <wfs:FAILED/> </wfs:Status> <wfs:Message>Error performing 
> insert</wfs:Message> </wfs:TransactionResult></wfs:WFS_TransactionResponse>
> 
> My wfs_editor.html looks like this:
> 
> 
> 
> <html>
>     <head>
>         <title>GeoExt WFS Editor</title>
> 
>         <script type="text/javascript" 
> src="ext/adapter/ext/ext-base.js"></script>
>         <script type="text/javascript" src="ext/ext-all.js"></script>
>         <link rel="stylesheet" type="text/css" 
> href="ext/resources/css/ext-all.css" />
>         <script src="openlayers/lib/OpenLayers.js"></script>
> 
>         <script type="text/javascript" src="geoext/lib/GeoExt.js"></script>
> 
>         <script type="text/javascript">
>         Ext.BLANK_IMAGE_URL = "ext/resources/images/default/s.gif";
> 
>         Ext.onReady(function() {
>                                                        
>                       /*var saveStrategy = new OpenLayers.Strategy.Save({
>                               onCommit: function() {
>                                       saveStrategy.layer.refresh();
>                               }
>                       });*/
>                       var saveStrategy = new OpenLayers.Strategy.Save();
>                       var baseLayer = new OpenLayers.Layer.WMS( "GrĂ¥tone", "
> http://kart7.skogoglandskap.no/bakgrunn/wms.topo2.graatone
> ",
>                                       {layers: 'topo2_graatone_WMS', 
> 'format':'image/png', 'transparent':'false' },
>                                       {isBaseLayer: true, singleTile: true, 
> buffer:0,ratio:1});
> 
>                       var layer = new OpenLayers.Layer.Vector("vector", {
>                               strategies: [new OpenLayers.Strategy.Fixed(), 
> saveStrategy],
>                               //strategies: [new OpenLayers.Strategy.Fixed()],
>                               protocol: new OpenLayers.Protocol.WFS({
>                                       url: "/geoserver_intern/wms",
>                                       version: "1.0.0",
>                                       geometryName: "geo",
>                                       featureType: "wfstrans2",
>                                       featureNS: "
> http://www.skogoglandskap.no
> ",
>                                       srsName: "EPSG:32632"
>                               })
>                       });
> 
>             var store = new GeoExt.data.FeatureStore({
>                 fields: [
>                     {name: "info", type: "string"}/*,
>                                       {name: "fid", type: "int"}*/
>                 ],
>                 layer: layer,
>                               addFeatureFilter: function(feature) {
>                                       return feature.state !== 
> OpenLayers.State.DELETE;
>                               }
> 
>             });
>                       
>                       var drawControl = new OpenLayers.Control.DrawFeature(
>                               layer,
>                               OpenLayers.Handler.Polygon,
>                               {handlerOptions: {multi: true}}
>                       );
> 
>                       
>                       var mapPanel = new GeoExt.MapPanel({
>                               title: "Map",
>                               region: "west",
>                               width: 400,
>                               layers: [baseLayer,layer],
>                               //extent: new OpenLayers.Bounds(234758, 
> 6402776, 1339075, 8020511),
>                               map: {
>                                       projection: new 
> OpenLayers.Projection("EPSG:32632"),
>                                       displayProjection: new 
> OpenLayers.Projection("EPSG:32632"),
>                                       maxExtent: new 
> OpenLayers.Bounds(-570684.15,6424344.35,1596363.87,7964447.65),
>                                       units: "m",
>                                       maxResolution: 2708.0, 
>                                       numZoomLevels: 15, 
>                                       controls: [  new 
> OpenLayers.Control.PanZoomBar(),
>                         new OpenLayers.Control.MousePosition({'prefix':'UTM 
> 32: ','numDigits':0})
>                                       ]
>                               },
>                               bbar: [
>                                       new GeoExt.Action({
>                                               control: drawControl,
>                                               text: "Create",
>                                               enableToggle: true
>                                       }), {
>                                               text: "Delete",
>                                               handler: function() {
>                                                       
> gridPanel.getSelectionModel().each(function(rec) {
>                                                               var feature = 
> rec.get("feature");
>                                                               
> modifyControl.unselectFeature(feature);
>                                                               
> store.remove(rec);
>                                                               
> if(feature.state !== OpenLayers.State.INSERT) {
>                                                                       
> feature.state = OpenLayers.State.DELETE;
>                                                                       
> layer.addFeatures([feature]);
>                                                               }
>                                                       });
>                                               }
>                                       }, "->", {
>                                               text: "Save",
>                                               handler: function() {
>                                                       store.commitChanges();
>                                                       saveStrategy.save();
>                                               }
>                                       }
> 
>                               ]
>                       });
>                       
>                       mapPanel.map.addControl(drawControl);
> 
>                       
>                       var modifyControl = new 
> OpenLayers.Control.ModifyFeature(layer);
>                       mapPanel.map.addControl(modifyControl);
>                       modifyControl.activate();
> 
> 
> 
>             var gridPanel = new Ext.grid.EditorGridPanel({
>                               title: "Feature Table - Manhattan (NY) 
> landmarks",
>                               region: "center",
>                               viewConfig: {forceFit: true},
>                               store: store,
>                               listeners: {
>                                       afteredit: function(e) {
>                                               var feature = 
> e.record.get("feature");
>                                               if(feature.state !== 
> OpenLayers.State.INSERT) {
>                                                       feature.state = 
> OpenLayers.State.UPDATE;
>                                               }
>                                       }
>                               },
>                               sm: new GeoExt.grid.FeatureSelectionModel({
>                                       selectControl: 
> modifyControl.selectControl,
>                                       singleSelect: true
>                               }),
>                               cm: new Ext.grid.ColumnModel({
>                                       defaults: {
>                                               sortable: true,
>                                               editor: {xtype: "textfield"}
>                                       },
>                                       columns: [
>                                               {header: "Info", dataIndex: 
> "info"}/*,
>                                               {header: "Id", dataIndex: 
> "fid"}*/
>                                       ]
>                               })
>                       });
> 
> 
>             var mainPanel = new Ext.Panel({
>                 renderTo: document.body,
>                 layout: "border",
>                 height: 450,
>                 width: 800,
>                 items: [gridPanel, mapPanel]
>             });
>         });
>         </script>
>     </head>
>     <body>
>     </body>
> </html>
> 
> 
> 
> 
> I am running geoserver 2.0.0
> Anyone knows whats wrong.
> 
> Best regards 
> Viggo Lunde
> Skog og landskap
> Norway
> 
> 
> 
> _______________________________________________
> Users mailing list
> [email protected]
> http://www.geoext.org/cgi-bin/mailman/listinfo/users



-- 
Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.

_______________________________________________
Users mailing list
[email protected]
http://www.geoext.org/cgi-bin/mailman/listinfo/users

Reply via email to