[OpenLayers-Dev] Bug in OpenLayers/Format/WFS.js ?? and Fix

Stephen Woodbridge woodbri at swoodbridge.com
Tue Feb 26 20:53:01 EST 2008


Hi Tim,

Thank you for opening the ticket, I will read the links on creating 
patches and attach one.

I need some additional help, as I think there is another problem with 
the wfs insert, only I do not know much about GML and WFS-T XML so it 
might be my lack of understanding.

Sorry to paste the chuck of XML below, but it was generated by 
OpenLayers with the fix below incorporated and it is needed to discuss 
this issue. There is one each Update, Delete and Insert transaction. It 
seems to me that the Insert transaction is missing some needed nodes in 
the XML.

Notice that Update and Delete both have typeName="Geofence" on their 
respective wfs:Update and wfs:Delete tags, but there is none on the 
wfs:Insert tag! This is needed to construct the feature:<typeName> tags 
in the wfs:Insert transactions. Likewise, wfs:Update has 
<wfs:Name>the_geom</wfs:Name> which is also missing from wfs:Insert and 
is needed to construct the <feature:the_geom> tag. Maybe these problems 
are because the namespace is not setup correctly for the wfs:Insert 
transaction.

I would appreciate your time to look at this issue and thoughts. I 
almost have a working demo. I can hack the PHP parser and handler to 
hard these values, but it would be much better to resolve the issues for 
the future.

Thanks,
   -Steve W.

<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs" version="1.0.0" 
service="WFS">
   <wfs:Update typeName="Geofence">
     <wfs:Property>
       <wfs:Name>the_geom</wfs:Name>
       <wfs:Value>
         <gml:Polygon xmlns:gml="http://www.opengis.net/gml">
           <gml:outerBoundaryIs>
             <gml:LinearRing>
               <gml:coordinates decimal="." cs="," ts=" 
">-119.460938,45.608398 -121.746094,45.608398 -121.921875,44.290039 
-120.515625,42.268554875 -118.845703,44.37793 
-119.460938,45.608398</gml:coordinates>
             </gml:LinearRing>
           </gml:outerBoundaryIs>
         </gml:Polygon>
       </wfs:Value>
     </wfs:Property>
     <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
       <ogc:FeatureId fid="9"/>
     </ogc:Filter>
   </wfs:Update>
   <wfs:Delete typeName="Geofence">
     <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
       <ogc:FeatureId fid="25"/>
     </ogc:Filter>
   </wfs:Delete>
   <wfs:Insert>
     <feature:Geofence 
xmlns:feature="http://mapserver.gis.umn.edu/mapserver">
       <feature:the_geom>
         <gml:MultiPolygon xmlns:gml="http://www.opengis.net/gml">
           <gml:polygonMember>
             <gml:Polygon>
               <gml:outerBoundaryIs>
                 <gml:LinearRing>
                   <gml:coordinates decimal="." cs="," ts=" 
">-110.056640625,46.3115234375 -110.232421875,44.3779296875 
-106.8046875,43.8505859375 -107.595703125,47.5419921875 
-110.056640625,46.3115234375</gml:coordinates>
                 </gml:LinearRing>
               </gml:outerBoundaryIs>
             </gml:Polygon>
           </gml:polygonMember>
         </gml:MultiPolygon>
       </feature:the_geom>
     </feature:Geofence>
   </wfs:Insert>
</wfs:Transaction>

Tim Schaub wrote:
> Hey-
> 
> Stephen Woodbridge wrote:
>> Stephen Woodbridge wrote:
>>> Hi all,
>>>
>>> I ran into a strange case of the namespace for WFS being set wrong. I 
>>> think the fix follows based on reading the code. I have not had a chance 
>>> to patch and test it:
>>>
>>> http://trac.openlayers.org/browser/trunk/openlayers/lib/OpenLayers/Format/WFS.js 
>>> rev.6313
>>>
>>> L192: 	        var deleteNode = this.createElementNS(this.featureNS, 
>>> 'wfs:Delete');
>>>
>>> should be:
>>>
>>>   	        var deleteNode = this.createElementNS(this.wfsns, 'wfs:Delete');
>>>
>> Just verified that it fixes the problem that I was seeing.
> 
> Thanks for the report.  This looks like a clear typo.
> 
> Adding a ticket to trac with a patch is the fastest way to get something 
> fixed.
> 
> Please see http://trac.openlayers.org/wiki/FilingTickets which includes 
> a link to http://trac.openlayers.org/wiki/CreatingPatches.
> 
> I've set up a ticket to address this:
> http://trac.openlayers.org/ticket/1394
> 
> Tim
> 
> 
>> -Steve
>> _______________________________________________
>> Dev mailing list
>> Dev at openlayers.org
>> http://openlayers.org/mailman/listinfo/dev
>>
>> !DSPAM:4033,47c4654115605210051143!
>>
> 
> _______________________________________________
> Dev mailing list
> Dev at openlayers.org
> http://openlayers.org/mailman/listinfo/dev




More information about the Dev mailing list