[OpenLayers-Users] WFS-T update problem with namespaces
Tim Schaub
tschaub at opengeo.org
Thu Jun 5 13:11:33 EDT 2008
Hey-
2StepForward wrote:
> Hi List,
>
> and thanks for answers on my questions. I agree with you, that it's realy
> hard to deal with XML....
> I have yesterday tried to write a work around for that namespace problem
> like this:
>
> Defines in my OL-code:
>
> var wfs4 = new OpenLayers.Layer.WFS(
> "Info", "http://server/geoserver/wfs?", {
> typename:'WFS:info', geometry_column:'the_geom'},
> {
> maxResolution:'auto',
> typename:'WFS:info',
> featureNS:'http://www.own-namespace.de/wfs' -> my own ns
> of GeoServer for xml-schema
> featurePrefix:'WFS',
> -> additionaly definition of the prefix
> });
>
>
> Changes in WFS-Layer.js by commit function:
>
> if(!this.writer) {
> ...........................................
> }
> options.layerName = this.typename; -> new
> options.featureNS = this.featureNS; -> new
> options.featurePrefix = this.featurePrefix; -> new
>
>
> Changes in WFS-Format.js by update function:
>
> if(!feature.fid) {......}
> updateNode.setAttribute("xmlns:"+this.featurePrefix, this.featureNS); -> new
> updateNode.setAttribute("typename", this.layerName);
>
> I now, it doesn't lock nice, but it works.......
> It will be good, if anyone write if it's a good way to change it like I have
> above wrote it.
Yes, the new WFS protocol will effectively do the same thing.
Tim
>
> Thanks Klaus
>
>
> Tim Schaub-3 wrote:
>> Hey-
>>
>> 2StepForward wrote:
>>> Hello List,
>>>
>>> if have read many posts about WFS-T transaction and update/delete
>>> features,
>>> but can't solve my problem.
>>> If i try the transaction_update demo request in GeoServer demo with some
>>> manipulations to my featuretype, everything works fine.
>>>
>>> Like this:
>>>
>>> <wfs:Transaction service="WFS" version="1.0.0"
>>> xmlns:WFS="http://www.own-namespace.de/wfs" -> this is the import
>>> of
>>> my own namespace from GS
>>> xmlns:ogc="http://www.opengis.net/ogc"
>>> xmlns:wfs="http://www.opengis.net/wfs">
>>> xmlns:gml="http://www.opengis.net/gml"
>>> <wfs:Update typeName="WFS:info">
>>> <wfs:Property>
>>> <wfs:Name>the_geom</wfs:Name>
>>> <wfs:Value>
>>> <gml:Point srsName="EPSG:23032">
>>> <gml:coordinates decimal="." cs="," ts="
>>> ">662043.2646366811,5798981.532771344</gml:coordinates>
>>> </gml:Point>
>>> </wfs:Value>
>>> </wfs:Property>
>>> <ogc:Filter>
>>> <ogc:FeatureId fid="info.1"/>
>>> </ogc:Filter>
>>> </wfs:Update>
>>> </wfs:Transaction>
>>>
>>> But if I take a commit of my WFS layer and that feature type, than i can
>>> sniff these xml transaction code:
>>>
>>> <wfs:Transaction version="1.0.0" service="WFS"
>>> xmlns:wfs="http://www.opengis.net/wfs">
>>> <wfs:Update typeName="WFS:em">
>>> <wfs:Property>
>>> <wfs:Name>the_geom</wfs:Name>
>>> <wfs:Value>
>>> <gml:Point xmlns:gml="http://www.opengis.net/gml"
>>> srsName="EPSG:23032">
>>> <gml:coordinates decimal="." cs="," ts="
>>> ">662043.2646366811,5798981.532771344</gml:coordinates>
>>> </gml:Point>
>>> </wfs:Value>
>>> </wfs:Property>
>>> <ogc:Filter>
>>> <ogc:FeatureId fid="info.1"/>
>>> </ogc:Filter>
>>> </wfs:Update>
>>> </wfs:Transaction>
>>>
>>> and i get, I think this might be right, a error window which said "WFS is
>>> not bind to a namespace".
>>> If I think right, it meens the WFS namespace prefix of my featuretype
>>> which
>>> should bind to the:
>>>
>>> xmlns:WFS="http://www.own-namespace.de/wfs"
>>>
>>> namespace definition. But there isn't any definition of my own in GS
>>> defined
>>> namespace.
>>>
>> Yes, you are hitting a known bug with the WFS stuff in OpenLayers. This
>> particular problem will be solved with the new WFS protocol (which will
>> write out the xmlns attribute for the feature type namespace alias).
>>
>>> Where I can set a option in the WFS Layer, who bind this prefix to the
>>> namespace in the request?
>>> Or is any logic, where I understand this model of xml request wrong?
>>> I have tried to set the featureNS to my own namespace, but this option I
>>> think has no effect, isn't it?
>>> The solved problem with the layerName in WFS-Format-JS, which is set to
>>> the
>>> featuretype.
>>>
>>> Has anyone a idea, I'm shortly befor to hit my head on the wall....
>> So, with apologies for the frustration, you'll have to wait a while
>> before the WFS/GML facelift makes it in to the trunk.
>>
>> Tim
>>
>>> Thanks Klaus
>> _______________________________________________
>> Users mailing list
>> Users at openlayers.org
>> http://openlayers.org/mailman/listinfo/users
>>
>>
>
More information about the Users
mailing list