Re: [mapserver-users] [TINYOWS] 'Looser' XSD?
Eric, Thanks for reporting this because I have to dive into doing the same shortly. I would suggest that OpenLayers is where the problem is because it is generating the XML that is going to TinyOWS. I have not looked into this specific issue but in general OL is pretty flexible and you might only need to set the appropriate namespace or GML level in OL to fix this problem. I would check with that list first. Thanks, -Steve On 9/7/2012 1:08 AM, Eric wrote: Hello list, I am trying to save features to a PostGIS DB using tinyows. Saving geometries alone works fine, updating records works well, but as soon as I combine attributes and geometries, I get an error from tinyows indicating that the XML is not in the right format. I have noticed a difference between the 3 scenarios. For instance, when I save a geometry without attributes, I get the following: (this works fine) wfs:Insert feature:parcels xmlns:feature=http://www.tinyows.org/; feature:geom gml:MultiSurface xmlns:gml=http://www.opengis.net/gml; srsName=EPSG:3857 gml:surfaceMember gml:Polygon gml:exterior gml:LinearRing gml:posList-10752./gml:posList /gml:LinearRing /gml:exterior /gml:Polygon /gml:surfaceMember /gml:MultiSurface /feature:geom /feature:washco_parcels /wfs:Insert And, when I add attributes, I get the following: (generates an error to teh effect that feature:address1test is unexpected) wfs:Insert feature:parcels xmlns:feature=http://www.tinyows.org/; feature:geom gml:MultiSurface xmlns:gml=http://www.opengis.net/gml; srsName=EPSG:3857 gml:surfaceMember gml:Polygon gml:exterior gml:LinearRing gml:posList-10752./gml:posList /gml:LinearRing /gml:exterior /gml:Polygon /gml:surfaceMember /gml:MultiSurface /feature:geom *feature:address1test/feature:address1* /feature:washco_parcels /wfs:Insert Finally, if I do a simple UPDATE, I get the following: (works fine) wfs:Update xmlns:demo=http://www.tinyows.org/; typeName=demo:parcels wfs:Property wfs:Namegeom/wfs:Name wfs:Value gml:MultiSurface xmlns:gml=http://www.opengis.net/gml; srsName=EPSG:3857 gml:surfaceMember gml:Polygon gml:exterior gml:LinearRing gml:posList-10737./gml:posList /gml:LinearRing /gml:exterior /gml:Polygon /gml:surfaceMember /gml:MultiSurface /wfs:Value /wfs:Property *wfs:Property wfs:Nameobjectid/wfs:Name wfs:Value18785/wfs:Value /wfs:Property* ... The first difference is in the namespace used (feature vs wfs). Any reason why it is doing so? Another difference is in the way attributes are included: wfs:Property wfs:Nameobjectid/wfs:Name wfs:Value18785/wfs:Value /wfs:Property vs feature:address1test/feature:address1 The third example (using wfs:Property) seems to be the correct way to specify information in a WFS file. The first example works fine despite not using that format, because I suspect the GML schema is more flexible and since it does not have attributes that are not geometries, it is considered valid. So I tried turning off schema checking in the tinyows.xml file and the problem payload go through without issues. So this seem to indicate that some of the XSD used are strict and don't allow attributes to be defined like feature:address1test/feature:address1. So my question is how do I fix this best? 1. remove schema enforcing at the tinyows level. Couldn't this lead to potential security issues with the server? 2. Change the XSD files to allow both ways to define attributes. Wouldn't this go against the WFS standard? 3. Change the way OL generates the payload. Not sure where it does it or how to force it to use a different one. BTW, I am using OL 2.12 and Tinyows 1.0.0 thanks! Eric ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] [TINYOWS] 'Looser' XSD?
Indeed, it appears it should be straightforward to resolve this from the OL end. I have just summoned the help of the OpenLayers-User mailing list gurus about this. Refer to the thread over there for further information. Thanks, Eric On 09/07/2012 11:57 AM, Stephen Woodbridge wrote: Eric, Thanks for reporting this because I have to dive into doing the same shortly. I would suggest that OpenLayers is where the problem is because it is generating the XML that is going to TinyOWS. I have not looked into this specific issue but in general OL is pretty flexible and you might only need to set the appropriate namespace or GML level in OL to fix this problem. I would check with that list first. Thanks, -Steve On 9/7/2012 1:08 AM, Eric wrote: Hello list, I am trying to save features to a PostGIS DB using tinyows. Saving geometries alone works fine, updating records works well, but as soon as I combine attributes and geometries, I get an error from tinyows indicating that the XML is not in the right format. I have noticed a difference between the 3 scenarios. For instance, when I save a geometry without attributes, I get the following: (this works fine) wfs:Insert feature:parcels xmlns:feature=http://www.tinyows.org/; feature:geom gml:MultiSurface xmlns:gml=http://www.opengis.net/gml; srsName=EPSG:3857 gml:surfaceMember gml:Polygon gml:exterior gml:LinearRing gml:posList-10752./gml:posList /gml:LinearRing /gml:exterior /gml:Polygon /gml:surfaceMember /gml:MultiSurface /feature:geom /feature:washco_parcels /wfs:Insert And, when I add attributes, I get the following: (generates an error to teh effect that feature:address1test is unexpected) wfs:Insert feature:parcels xmlns:feature=http://www.tinyows.org/; feature:geom gml:MultiSurface xmlns:gml=http://www.opengis.net/gml; srsName=EPSG:3857 gml:surfaceMember gml:Polygon gml:exterior gml:LinearRing gml:posList-10752./gml:posList /gml:LinearRing /gml:exterior /gml:Polygon /gml:surfaceMember /gml:MultiSurface /feature:geom *feature:address1test/feature:address1* /feature:washco_parcels /wfs:Insert Finally, if I do a simple UPDATE, I get the following: (works fine) wfs:Update xmlns:demo=http://www.tinyows.org/; typeName=demo:parcels wfs:Property wfs:Namegeom/wfs:Name wfs:Value gml:MultiSurface xmlns:gml=http://www.opengis.net/gml; srsName=EPSG:3857 gml:surfaceMember gml:Polygon gml:exterior gml:LinearRing gml:posList-10737./gml:posList /gml:LinearRing /gml:exterior /gml:Polygon /gml:surfaceMember /gml:MultiSurface /wfs:Value /wfs:Property *wfs:Property wfs:Nameobjectid/wfs:Name wfs:Value18785/wfs:Value /wfs:Property* ... The first difference is in the namespace used (feature vs wfs). Any reason why it is doing so? Another difference is in the way attributes are included: wfs:Property wfs:Nameobjectid/wfs:Name wfs:Value18785/wfs:Value /wfs:Property vs feature:address1test/feature:address1 The third example (using wfs:Property) seems to be the correct way to specify information in a WFS file. The first example works fine despite not using that format, because I suspect the GML schema is more flexible and since it does not have attributes that are not geometries, it is considered valid. So I tried turning off schema checking in the tinyows.xml file and the problem payload go through without issues. So this seem to indicate that some of the XSD used are strict and don't allow attributes to be defined like feature:address1test/feature:address1. So my question is how do I fix this best? 1. remove schema enforcing at the tinyows level. Couldn't this lead to potential security issues with the server? 2. Change the XSD files to allow both ways to define attributes. Wouldn't this go against the WFS standard? 3. Change the way OL generates the payload. Not sure where it does it or how to force it to use a different one. BTW, I am using OL 2.12 and Tinyows 1.0.0 thanks! Eric ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] [TINYOWS] 'Looser' XSD?
Hello list, I am trying to save features to a PostGIS DB using tinyows. Saving geometries alone works fine, updating records works well, but as soon as I combine attributes and geometries, I get an error from tinyows indicating that the XML is not in the right format. I have noticed a difference between the 3 scenarios. For instance, when I save a geometry without attributes, I get the following: (this works fine) wfs:Insert feature:parcels xmlns:feature="http://www.tinyows.org/" feature:geom gml:MultiSurface xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:3857" gml:surfaceMember gml:Polygon gml:exterior gml:LinearRing gml:posList-10752./gml:posList /gml:LinearRing /gml:exterior /gml:Polygon /gml:surfaceMember /gml:MultiSurface /feature:geom /feature:washco_parcels /wfs:Insert And, when I add attributes, I get the following: (generates an error to teh effect that "feature:address1test" is unexpected) wfs:Insert feature:parcels xmlns:feature="http://www.tinyows.org/" feature:geom gml:MultiSurface xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:3857" gml:surfaceMember gml:Polygon gml:exterior gml:LinearRing gml:posList-10752./gml:posList /gml:LinearRing /gml:exterior /gml:Polygon /gml:surfaceMember /gml:MultiSurface /feature:geom feature:address1test/feature:address1 /feature:washco_parcels /wfs:Insert Finally, if I do a simple UPDATE, I get the following: (works fine) wfs:Update xmlns:demo="http://www.tinyows.org/" typeName="demo:parcels" wfs:Property wfs:Namegeom/wfs:Name wfs:Value gml:MultiSurface xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:3857" gml:surfaceMember gml:Polygon gml:exterior gml:LinearRing gml:posList-10737./gml:posList /gml:LinearRing /gml:exterior /gml:Polygon /gml:surfaceMember /gml:MultiSurface /wfs:Value /wfs:Property wfs:Property wfs:Nameobjectid/wfs:Name wfs:Value18785/wfs:Value /wfs:Property ... The first difference is in the namespace used (feature vs wfs). Any reason why it is doing so? Another difference is in the way attributes are included: wfs:Property wfs:Nameobjectid/wfs:Name wfs:Value18785/wfs:Value /wfs:Property vs feature:address1test/feature:address1 The third example (using wfs:Property) seems to be the correct way to specify information in a WFS file. The first example works fine despite not using that format, because I suspect the GML schema is more flexible and since it does not have attributes that are not geometries, it is considered valid. So I tried turning off schema checking in the tinyows.xml file and the problem payload go through without issues. So this seem to indicate that some of the XSD used are strict and don't allow attributes to be defined like feature:address1test/feature:address1. So my question is how do I fix this best? remove schema enforcing at the tinyows level. Couldn't this lead to potential security issues with the server? Change the XSD files to allow both ways to define attributes. Wouldn't this go against the WFS standard? Change the way OL generates the payload. Not sure where it does it or how to force it to use a different one. BTW, I am using OL 2.12 and Tinyows 1.0.0 thanks! Eric ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users