Skip to content

WFS-T complex query ends with 500 #1081

@index-git

Description

@index-git

Layman version 2.0.0

WFS-T query including Update for one layer and Replace with Filter for other layer sometimes ends with 500 with text

<?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows/1.1"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0"
                     xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://localhost:8000/geoserver/schemas/ows/1.1.0/owsAll.xsd">
    <ows:Exception exceptionCode="OperationProcessingFailed" locator="Replace">
        <ows:ExceptionText>Specified filter matched 0 features but 1 were supplied</ows:ExceptionText>
    </ows:Exception>
</ows:ExceptionReport>

Query example

<?xml version="1.0"?>
<wfs:Transaction version="2.0.0" service="WFS" xmlns:layman="http://layman" xmlns:fes="http://www.opengis.net/fes/2.0"
                 xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:wfs="http://www.opengis.net/wfs/2.0"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://www.opengis.net/wfs/2.0                       http://schemas.opengis.net/wfs/2.0/wfs.xsd                       http://www.opengis.net/gml/3.2                       http://schemas.opengis.net/gml/3.2.1/gml.xsd">
    <wfs:Update typeName="{wfs_layer2.workspace}:{wfs_layer2.name}">
        <wfs:Property>
            <wfs:ValueReference>{wfs_layer2.workspace}:new_layer2_attr_update</wfs:ValueReference>
            <wfs:Value>some value</wfs:Value>
        </wfs:Property>
    </wfs:Update>
    <wfs:Replace>
        <{wfs_layer1.workspace}:{wfs_layer1.name}>
            <{wfs_layer1.workspace}:wkb_geometry>
                <gml:Point srsName="urn:ogc:def:crs:EPSG::3857" srsDimension="2">
                    <gml:pos>1.27108004304E7 2548415.5977</gml:pos>
                </gml:Point>
            </{wfs_layer1.workspace}:wkb_geometry>
            <{wfs_layer1.workspace}:name>New name</{wfs_layer1.workspace}:name>
            <{wfs_layer1.workspace}:labelrank>3</{wfs_layer1.workspace}:labelrank>
            <{wfs_layer1.workspace}:new_layer1_attr_replace>some value</{wfs_layer1.workspace}:new_layer1_attr_replace>
        </{wfs_layer1.workspace}:{wfs_layer1.name}>
        <fes:Filter>
            <fes:ResourceId rid="{wfs_layer1.name}.1"/>
        </fes:Filter>
    </wfs:Replace>
</wfs:Transaction>

It seems, that for some combinations of layer UUIDs WFS-T query consistently fails and for some consistently succeded. Examples of failing UUID/GeoServer layernames combinations:
layer1 any of: l_03440543-4b2a-4499-bebf-e2a632c25576, l_7ea5254c-979f-401d-96ea-e010b567e3c8, l_4bd17dc3-5330-42cb-a5a9-47e9a00b9593, l_44c52046-f679-4d49-adbe-876a5c1d601a, l_7f36ce7b-20b2-442e-954f-0c778994c785, l_18b258e7-f23a-43b2-8c74-063001b47ffa, l_62732188-2e26-4535-96e7-5b204d2a36ee

layer2: l_d7247e9f-8f86-4438-82da-3f53e48df95f

Examples of succeding UUID/GeoServer layernames combinations:
layer1 any of: l_e6d24656-6d84-4015-89c9-b30d079af496, l_5b6b83d4-714b-4f0e-ba50-225d9d2017f9, l_0d8109ad-ef83-4a55-92c8-63d789755abd, l_0367efa3-0992-4035-bb23-628475edde14

layer2: l_d7247e9f-8f86-4438-82da-3f53e48df95f

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions