Ich habe die ol.format.WFS # writeTransaction-Methode erfolgreich verwendet, um die WFS-t-XML für eine -Operation an GeoServer zu serialisieren, aber wenn ich versuchen, die gleiche Sache für eine update Operation die Methode erzeugt eine ungültige WFS-t-Anfrage. Ist es möglich, dass ich das ol.format.WFS-Objekt falsch initialisiere? Oder übergebe ich vielleicht die falschen Optionen an die writeTransaction-Methode? Oder vielleicht ist es ein Fehler in OpenLayers3? Hieropenlayers 3 ol.format.WFS writeTransaction erzeugt falsches XML für einfache UPDATE-Transaktion
ist der Kern meiner Javascript:
var wfst = new ol.format.WFS({
featureNS: "mypoints",
featureType: "test_points"
});
var options = {
gmlOptions: {srsName: "EPSG:3857"},
featureNS: "mypoints",
featureType: "test_points"
};
var node = wfst.writeTransaction(null, [thePoint], null, options);
var shouldBeValidXML = new XMLSerializer().serializeToString(node)
Hier ist ein Beispiel für die XML, dass produziert:
<Transaction xmlns="http://www.opengis.net/wfs" service="WFS" version="1.1.0" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Update typeName="feature:test_points" xmlns:feature="mypoints">
<Property>
<Name>geometry</Name>
<Value>
<Point xmlns="http://www.opengis.net/gml" srsName="EPSG:3857"><pos>-10606301.721251432 4226568.758428884</pos></Point>
</Value>
</Property>
<Filter xmlns="http://www.opengis.net/ogc">
<FeatureId fid="test_points.fid--62e21e8_153971e1869_-7ffe"/>
</Filter>
</Update>
</Transaction>
Das Problem ist in Zeile 2, wo es heißt:
<Update typeName="feature:test_points" xmlns:feature="mypoints">
Das macht GeoServer werfen NoApplicableCodeException, die wiederum irgendwie mit einem generischen java.lang.NullPointerException verwandt ist. jedoch, wenn ich diese Zeile mit der folgenden ersetzen, arbeitet die Anfrage schön:
<Update typeName="mypoints:test_points">
Meine spezifische Fragen sind wie folgt:
- Ist
typeName="mypoints:test_points"
tatsächlich der richtige Weg, um die Anforderung zu bilden? - Wenn ja, was mache ich falsch mit ol.format.WFS, um dieses schlechte XML zu bekommen? Woher kommt
feature
?
Vielen Dank im Voraus!
Dank verwenden! Das war genau das Problem. – zsnyder