[OpenLayers-Users] SaveStrategy does not work - WFSProtocol with
Vector Layer
paweluz
paweluz at o2.pl
Fri Mar 19 08:56:06 EDT 2010
Hi!
I am using Postgis, Geoserver and Openlayers 2.8. I create my simple
application based on this example
http://dev.openlayers.org/releases/OpenLayers-2.8/examples/wfs-protocol-transactions.html.
I can see the vector on map, I can get the object attributes from the
feature I clicked on, but I have problem with adding new data to the
database.
When I click the add button the new row is added to the table in my database
but the row is empty without any data...
My code:
var saveStrategy = new OpenLayers.Strategy.Save();
var wfsproba = new OpenLayers.Layer.Vector("Vector Layer", {
strategies: [new OpenLayers.Strategy.BBOX(), saveStrategy],
projection: new OpenLayers.Projection("EPSG:4326"),
styleMap: wfs_style,
protocol: new OpenLayers.Protocol.WFS({
version: "1.1.0",
srsName: "EPSG:4326",
url: "http://localhost:8080/geoserver/wfs",
featureNS : "http://www.openplans.org/topp",
featureType: "probabaza",
geometryName: "the_geom",
schema:
"http://localhost:8080/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=topp:probabaza",
})
});
drawControls = {
line: new OpenLayers.Control.DrawFeature(
wfsproba, OpenLayers.Handler.Path)};
for(var key in drawControls) {
map.addControl(drawControls[key]);}
// On button click
function addobject() {
saveStrategy.save();
}
This think is really weird because in firebug I got information that data
was added to the database.
Here is info:
Source:
<wfs:Transaction xmlns: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.openplans.org/topp
http://localhost:8080/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=topp:probabaza"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wfs:Insert>
<feature:probabaza xmlns:feature="http://www.openplans.org/topp">
<feature:the_geom>
<gml:LineString xmlns:gml="http://www.opengis.net/gml"
srsName="EPSG:4326"><gml:posList>15.542907714844 51.947650889872
15.542907714844 51.942995059059</gml:posList></gml:LineString>
</feature:the_geom>
</feature:probabaza>
</wfs:Insert>
</wfs:Transaction>
Response
<?xml version="1.0" encoding="UTF-8"?>
<wfs:TransactionResponse version="1.1.0"
xsi:schemaLocation="http://www.opengis.net/wfs
http://localhost:8080/geoserver/schemas/wfs/1.1.0/wfs.xsd"
xmlns:ogc="http://www.opengis.net/ogc" xmlns:tiger="http://www.census.gov"
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:topp="http://www.openplans.org/topp"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sf="http://www.openplans.org/spearfish"
xmlns:ows="http://www.opengis.net/ows"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xlink="http://www.w3.org/1999/xlink"><wfs:TransactionSummary>
<wfs:totalInserted>1</wfs:totalInserted>
<wfs:totalUpdated>0</wfs:totalUpdated>
<wfs:totalDeleted>0</wfs:totalDeleted>
</wfs:TransactionSummary>
<wfs:TransactionResults/>
<wfs:InsertResults>
<wfs:Feature>
<ogc:FeatureId fid="probabaza.162"/>
</wfs:Feature>
</wfs:InsertResults>
</wfs:TransactionResponse>
As you can see I got info that there was one object insertet, but in my
database all I got in new empty rows... When I add 5 new geometry and got 5
new empty rows in my database... In firebug I got info that I had inserted 5
new object.
Maybe I should "tell" savestategy in what column the geometry should be
inserted.... I have no idea... My geometry column is named 'the_geom'.
Why is that? Cane anybody please help me
Regards,
Poul
--
View this message in context: http://n2.nabble.com/SaveStrategy-does-not-work-WFSProtocol-with-Vector-Layer-tp4762666p4762666.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.
More information about the Users
mailing list