[TinyOWS-dev] Error when inserting new feature with TinyOWS
Rahkonen Jukka
Jukka.Rahkonen at mmmtike.fi
Tue May 8 14:34:43 EST 2012
Hi,
You can't have success with WFS 1.1.0 because your geometry is in GML2
<gml:coordinates
However, you had some other problem too with the schema location. I can't say anything about that. Anyway, be sure to use GML2 with WFS 1.0.0 and GML3 with WFS 1.1.0.
-Jukka Rahkonen-
Ermond Parllaku wrote:
> Hi to all,
> I configured a layer with TinyOWS and MS4W in Windows. I have other layers in the map viewer too, configured with OpenLayers, but the layer that I configured with TinyOWS is supposed to be editable. Anyway, I can edit and delete features from the layer. But unfortunately I haven't managed yet to insert new features.
In the log of TinyOWS, when I try to insert a new feature, I keep getting an error:
[ERROR] Element '{http://www.tinyows.org/}olives': This element is not expected. Expected is one of ( {http://www.opengis.net/gml}_Feature, {http://www.opengis.net/wfs}FeatureCollection )
Just before the error, in the log file I see this query:
<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/WFS-transaction.xsd">
<wfs:Insert>
<feature:olives xmlns:feature="http://www.tinyows.org/">
<feature:geometry>
<gml:MultiPolygon xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:32634">
<gml:polygonMember>
<gml:Polygon>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates decimal="." cs="," ts=" ">381781.25,4509578.125 381875,4509031.25 382656.25,4509734.375 381781.25,4509578.125</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</gml:polygonMember>
</gml:MultiPolygon>
</feature:geometry>
</feature:olives>
</wfs:Insert>
</wfs:Transaction>
The config.xml is like this:
<tinyows online_resource="http://localhost:81/cgi-bin/tinyows.exe"
schema_dir="C:/ms4w/apps/tinyows/schema/"
log="C:/ms4w/apps/tinyows/tinyows.log"
log_level="15">
<pg host="127.0.0.1" user="postgres" password="***" dbname="olives_gis1" port="5432"/>
<metadata name="Olives WFST Server"
title="WFST Olives" />
<layer retrievable="1"
writable="1"
ns_prefix="tows"
ns_uri="http://www.tinyows.org/"
//srid="EPSG:32634"
name="olives"
title="olives"/>
</tinyows>
I thought the error might happen because in the database the geometry of the table olives is declared as POLYGON, so I changed it to MULTIPOLYGON, but I still got the same error. I also changed the WFS schema to 1.0.0, but still the same error.
I have declared a DrawFeature variable like this, to draw the feature that will be saved in the database:
var draw = new OpenLayers.Control.DrawFeature(
wfs, OpenLayers.Handler.Polygon,
{
title: "Add olives",
displayClass: "olControlDrawFeaturePolygon",
multi: "true",
id: "draw"
}
);
I would like to mention again that the editing and deleting of existing features work very well.
I am using MS4W 3.0.4 (with OL included) and tinyows-1.0.0rc3. The database is in PostgreSQL & PostGIS.
Since I don't have much experience with these technologies (more than 1 month) I might have made some stupid error, but I cannot find it anyway...
Thanks a lot in advance for your help
More information about the TinyOWS-dev
mailing list