[OpenLayers-Users] Problems implementing WFS

Maxime Phaneuf maxime.phaneuf at usherbrooke.ca
Tue Jul 28 16:06:09 EDT 2009


Hi again,

Thank you Alexandre. Yes It helped me. I was just being dumb I think. The
namespace got detected by OL since the prefix was the same in the server
response.

So now I can modify and delete features. But I cannot insert new features to
the postgis database. This is the GML insert openlayers is sending to the
tinyOWS server:

<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
http://**.***.**.*** http://**.***.**.***
/cgi-bin/tinyows?service=WFS&amp;version=1.0.0&amp;request=DescribeFeatureType&amp;TypeName=world2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wfs:Insert>
<feature:world2 xmlns:feature="http://**.***.**.*** ">
<feature:the_geom>
<gml:MultiPolygon xmlns:gml="http://www.opengis.net/gml"
srsName="EPSG:4326">
<gml:polygonMember>
<gml:Polygon>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates decimal="." cs="," ts=" ">41.484375,45.703125
128.671875,-33.046875 128.671875,-33.046875
41.484375,45.703125</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</gml:polygonMember>
</gml:MultiPolygon>
</feature:the_geom>
</feature:world2>
</wfs:Insert>
</wfs:Transaction>

I've compared this to the GML Insert you send to TinyOWS in
http://dev4.mapgears.com/bdga/bdgaWFS-T.html and it looks alike. 

This is the answer I received from TinyOWS:
<?xml version='1.0' encoding='UTF-8'?>
<ows:ExceptionReport
 xmlns='http://www.opengis.net/ows'
 xmlns:ows='http://www.opengis.net/ows'
 xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
 xsi:schemaLocation='http://www.opengis.net/ows
http://schemas.opengis.net/ows/1.0.0/owsExceptionReport.xsd'
 version='1.1.0' language='en'>
 <ows:Exception exceptionCode='InvalidParameterValue' locator='request'>
  <ows:ExceptionText>xml isn't valid</ows:ExceptionText>
 </ows:Exception>
</ows:ExceptionReport>

Since the update works, I suppose the saveStrategy is not the problem. Do
you know what could be the problem?

Thanks,
Maxime



Alexandre Dube wrote:
> 
> Hi,
> 
>   Yes, this looks like a namespace problem.  With firebug, go to the 
> lib/OpenLayers/Format/XML.js file, in the readNode function at line :
> 
> var group = this.readers[this.namespaceAlias[node.namespaceURI]];
> 
> and put a breakpoint there.  You'll understand what's going on and also 
> what namespace you need to define.
> 
> Hope this helps,
> 
> Alexandre
> 
> Maxime Phaneuf wrote:
>> Hi guys
>>
>> I've got the same problem as Hugo. My WFS layer would not appear on the
>> map,
>> even though I've got a ok server response.
>>
>> My layer looks like this:
>>      wfs = new OpenLayers.Layer.Vector("France", {
>>                 strategies: [new OpenLayers.Strategy.BBOX(),
>> saveStrategy],
>>                 protocol: new OpenLayers.Protocol.WFS({
>> 					version:       "1.0.0",
>> 					url:           "http://mydomain/cgi-bin/tinyows",
>> 					featureType:   "france_dept",
>> 					srsName:       "EPSG:24582",
>> 					featurePrefix: "tows",
>> 					//featureNS:     "http://mydomain",
>> 					geometryName:  "the_geom",
>> 					schema:       
>> "http://mydomain/cgi-bin/tinyows?service=WFS&version=1.0.0&request=DescribeFeatureType&TypeName=france_dept",
>> 				})
>>             });
>>
>> Define like this, the layer will show up, but any modification can't be
>> saved. When I take off the comments of featureNS, it will not show up, so
>> I
>> suppose it is an error caused by the namespace. 
>>
>> I've tried putting a breakline where you told but it doesn't even stop
>> when
>> I reload the page.
>> What is the correct value to put for featureNS? Or do you see anything
>> else
>> wrong with my layer definition?
>>
>> Thank you
>> Maxime Phaneuf
>>
>>
>> Hugo-2 wrote:
>>   
>>> Hi Alexandre,
>>>
>>> Thanks for your help. Indeed it was a problem with the namespace. A
>>> dummy
>>> mistake :)
>>>
>>> Kind regards,
>>>
>>> Hugo Martins
>>>
>>> On Tue, Jun 30, 2009 at 1:00 PM, Alexandre Dube <adube at mapgears.com>
>>> wrote:
>>>
>>>     
>>>> Hi Hugo,
>>>>
>>>>  This looks like a feature namespace problem.  See the Format.XML
>>>> readNode
>>>> function, put a break point at line :
>>>>
>>>> var group = this.readers[this.namespaceAlias[node.namespaceURI]];
>>>>
>>>>  This might be the problem,
>>>>
>>>> Alexandre
>>>>
>>>> Hugo wrote:
>>>>
>>>>       
>>>>> Hello all,
>>>>>
>>>>> I'm having troubles to implement a vector layer with WFS protocol.
>>>>> From
>>>>> firebug i can see that the attributes from the layer are extracted,
>>>>> however
>>>>> no vector feature is displayed in the map.
>>>>> DO you have any suggestions??? My code is as follows:
>>>>>
>>>>> var saveStrategy = new OpenLayers.Strategy.Save();
>>>>>        var wfs2 = new OpenLayers.Layer.Vector(
>>>>>            "ExplorWFS2",
>>>>>            {
>>>>>                strategies: [new OpenLayers.Strategy.BBOX(),
>>>>> saveStrategy],
>>>>>                projection: wgs,
>>>>>                protocol: new OpenLayers.Protocol.WFS({
>>>>>                    version: "1.1.0",
>>>>>                    srsName: "EPSG:4326",
>>>>>                    url: "http://isegi.dyndns.org:8080/geoserver/wfs?",
>>>>>                    featureNS :  "http://isegi.dyndns.org:8080/sigla",
>>>>>                    featureType: "explor",
>>>>>                    geometryName: "the_geom",
>>>>>                    schema: "
>>>>> http://isegi.dyndns.org:8080/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=sigla:explor<
>>>>> http://isegi.dyndns.org:8080/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=sigla:explor
>>>>>         
>>>>>> ",
>>>>>>           
>>>>>                    format: new OpenLayers.Format.WFST.v1_1_0({
>>>>>                        featureType: 'explor',
>>>>>                        featureNS:
>>>>> "http://isegi.dyndns.org:8080/sigla",
>>>>>                        featurePrefix: 'sigla',
>>>>>                        geometryName: 'the_geom'
>>>>>                    })
>>>>>                })              }
>>>>>        );
>>>>>
>>>>> I have tried these code with and without the format option.
>>>>>
>>>>> If i simply use the following code, everything goes perfect and vector
>>>>> features are displayed in the map:
>>>>>
>>>>> var wfs = new OpenLayers.Layer.WFS(
>>>>>            "ExplorWFS",
>>>>>            "http://isegi.dyndns.org:8080/geoserver/wfs?",
>>>>>            {typename: 'sigla:explor'},
>>>>>            {
>>>>>                featureVersion: "1.0.0",
>>>>>                typename: 'explor',
>>>>>                featureNS: '"http://isegi.dyndns.org:8080/sigla',
>>>>>                geometryName: "the_geom",
>>>>>                projection: wgs,
>>>>>                extractAttributes: true,
>>>>>                schema: "
>>>>> http://isegi.dyndns.org:8080/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=sigla:explor<
>>>>> http://isegi.dyndns.org:8080/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=sigla:explor
>>>>>         
>>>>>> "
>>>>>>           
>>>>>            }
>>>>>        );
>>>>>
>>>>> Thanks in advance.
>>>>> Kind regards,
>>>>>
>>>>> Hugo Martins
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at openlayers.org
>>>>> http://openlayers.org/mailman/listinfo/users
>>>>>
>>>>>
>>>>>         
>>>> --
>>>> Alexandre Dubé
>>>> Mapgears
>>>> www.mapgears.com
>>>>
>>>>
>>>>       
>>> _______________________________________________
>>> Users mailing list
>>> Users at openlayers.org
>>> http://openlayers.org/mailman/listinfo/users
>>>
>>>
>>>     
>>
>>   
> 
> 
> -- 
> Alexandre Dubé
> Mapgears
> www.mapgears.com
> 
> _______________________________________________
> Users mailing list
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users
> 
> 

-- 
View this message in context: http://n2.nabble.com/Problems-implementing-WFS-tp3176672p3345672.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.



More information about the Users mailing list