highlightFeaturesByAttribute wirft Fehler im Zusammenhang mit Prefix

Issue #1055 open
Steffen Wellegehausen created an issue

Das Verhalten wurde in der Version 2.32.1 das erste Mal beobachtet und ist in der latest Version (getestet am 27.06.2023) noch vorhanden.

Bei der Verwendung des Features highlightFeaturesByAttribute
https://www.masterportal.org/files/masterportal/html-doku/doc/v2.23.0/config.json.html#markdown-header-themenconfiglayerwfs

mit z.B folgender URL Abfrage:

https://localhost:9001/portal/basic/?api/highlightFeaturesByAttribute=2&wfsId=2&attributeName=Hochkomma&attributeValue=111&attributeQuery=isequal

wird ein Fehler geworfen, da der ParameterValue invalid ist.

Request:

<?xml version='1.0' encoding='UTF-8'?>
            <wfs:GetFeature service='WFS' xmlns:wfs='<http://www.opengis.net/wfs'> xmlns:ogc='<http://www.opengis.net/ogc'> xmlns:gml='<http://www.opengis.net/gml'> xmlns:app='<http://www.deegree.org/app'> traverseXlinkDepth='*' version='1.1.0'>
                <wfs:Query typeName='test_polygon'>
                    <ogc:Filter>
                        <ogc:PropertyIsEqualTo matchCase='false' wildCard='*' singleChar='#' escapeChar='!'>
                <ogc:PropertyName>adabwebHochkomma</ogc:PropertyName>
                <ogc:Literal>111</ogc:Literal>
            </ogc:PropertyIsEqualTo>
                    </ogc:Filter>
                </wfs:Query>
            </wfs:GetFeature>

Response:

<?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport xmlns:xs="<http://www.w3.org/2001/XMLSchema"> xmlns:ows="<http://www.opengis.net/ows"> xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance"> version="1.0.0" xsi:schemaLocation="<http://www.opengis.net/ows> <https://geoservice.norderstedt.de/geoserver/schemas/ows/1.0.0/owsExceptionReport.xsd">>
<ows:Exception exceptionCode="InvalidParameterValue">
<ows:ExceptionText>Illegal property name: adabwebHochkomma for feature type test:test_polygon</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>

Der Request geht durch, allerdings kommt dann die Response mit dem InvalidParameterValue und wirft dann den TypeError: xmlDoc.getElementsByTagName is undefined.

Da beim Request der Prefix aus der config.json vor den ParameterNamen gehängt wird, oder wenn kein Prefix gesetzt ist der Wert undefined annimmt, kann der attributeName nicht gefunden werden.

Getestet wurde das Verhalten mit dem Norderstedt WFS, sowie einem abgesicherten Dienst vom NLD.

https://geoservice.norderstedt.de/geoserver/test/wfs

Hatte damit schonmal jemand Probleme, oder ist in der Verwendung irgendetwas falsch?

Beste Grüße,

Steffen

Comments (5)

  1. Richard Schmid

    Hallo @Stefan Wellegehausen ,

    Wenn man in der Config.json beim entspr. Dienst “featurePrefix”: ““ konfiguriert, lässt sich das mit dem “undefined” abfangen. Dennoch komme ich mit dem genannten Dienst und propertyname adabwebHochkomma zu keinem Ergebnis.

  2. Steffen Wellegehausen reporter

    Moin @Richard Schmid

    da habe ich mich glaube ich etwas unklar ausgedrückt. Der adaweb prefix gehört zu dem geschützten Dienst vom NLD, die Zugangsdaten dafür wollte ich nicht offen reinstellen.

    Das mit dem “leeren” Prefix war schonmal eine Hilfe, danke!

    Ich könnte dir die Testzugangsdaten für den Dienst per Mail zukommen lassen.

  3. Jannik Günther

    Hallo,

    gibt es Neuigkeiten zu diesem Fehler? Er ist für uns weiterhin ein großes Problem. Damit der Fehler nicht auftritt müssen wir an das featurePrefix einen “:” hängen. Damit aus

    <ogc:PropertyName>adabwebHochkomma</ogc:PropertyName>

    das hier wird:

    <ogc:PropertyName>adabweb:Hochkomma</ogc:PropertyName>

    Dann funktioniert aber das WFST-Modul nicht mehr, da dort der Doppelpunkt hinter dem featurePrefix bereits gesetzt wird und der Doppelpunkt dann doppelt ist.

    Wir müssen WFST-Modul und highlightFeaturesByAttribute gleichzeitig verwenden können. Aktuell können wir mit der gleichen Konfiguration nur entweder das eine oder das andere verwenden.

  4. Laura Meierkort

    Hallo,

    Wir hatten das Problem im Zusammenhang mit dem WFS-T Modul. Mit diesem PR [1] ist unter Anderem eine Anpassung in den Code gekommen, die dafür sorgt, dass der featurePrefix nicht mehr undefined ist, wenn kein featurePrefix Parameter konfiguriert ist. Die entscheidende Anpassung ist im src/modules/tools/wfst/utils/addFeaturePropertiesToFeature.js Z. 13 ff. passiert. Die Anpassungen des PRs sind ab der Version 2.44.0 im Core enthalten.

    Ob das das oben genannte Problem löst, kann ich allerdings nicht sagen. Vielleicht hilft es aber zumindest bei der Problemlösung.

    [1] https://bitbucket.org/geowerkstatt-hamburg/masterportal/pull-requests/4841/overview

  5. Log in to comment