Bug report #14139
Error inserting feature in WFS-T server
| Status: | Closed | ||
|---|---|---|---|
| Priority: | High | ||
| Assignee: | - | ||
| Category: | Unknown | ||
| Affected QGIS version: | 2.12.2 | Regression?: | No |
| Operating System: | Easy fix?: | No | |
| Pull Request or Patch supplied: | No | Resolution: | |
| Crashes QGIS or corrupts data: | No | Copied to github as #: | 22141 |
Description
Cannot insert a new feature composed by a single polygon/linestring into a geoserver multipolygon/multilinestring WFS-t layer.
It raises an error:
Could not commit changes to layer xxx:yyy
Errors: ERROR: 1 feature(s) not added. Provider errors: unsuccessful service response: Error performing insert: java.lang.String cannot be cast to com.vividsolutions.jts.geom.Geometry
But if create two polygon/linestring and merging them into a single feature, the insert works.
It seems QGis send a gml multypoligon feature if there is more than a polygon, a polygon feature otherwise, while geoserver needs a strictly corresponding feature type with that defined on the layer.
I think the correct behavior was to send a multi feature with a single polygon/linestring if the wfs layer is a multipolygon/multilinestring.
Associated revisions
Fix for simple geometries insert error in WFS-T
Fixes #14139 Error inserting feature in WFS-T server
Fix for simple geometries insert error in WFS-T
Fixes #14139 Error inserting feature in WFS-T server
(cherry-picked from commit 768416340fdf233f8f5ce8945636d8df8b2e4f48)
Signed-off-by: Larry Shaffer <[email protected]>
History
#1
Updated by Jukka Rahkonen almost 10 years ago
Yes, there is only one way to do it right and it is to respect the schema of the feature type. For example the schema of "topp:states" feature type can be checked with
http://demo.opengeo.org/geoserver/wfs?service=wfs&version=1.0.0&request=describefeaturetype&typename=topp:states
Result contains
<xsd:element maxOccurs="1" minOccurs="0" name="the_geom" nillable="true" type="gml:MultiPolygonPropertyType"/>
which means that WFS client must use either an empty geometry or or a MultiPolygon geometry in WFS transactions.
#2
Updated by Alessandro Pasotti over 9 years ago
- Status changed from Open to Closed
Fixed in changeset 768416340fdf233f8f5ce8945636d8df8b2e4f48.
#3
Updated by Jürgen Fischer about 8 years ago
- Category set to Unknown