Open dahermansson opened 2 years ago
Thank you for reporting. As this behavior is related to the WFS 2.0 test suite, I moved the issue to the ets-wfs20 issue tracker.
I can confirm that several tests fail on Production (http://cite.ogc.org/teamengine/) and Beta (http://cite.ogc.org/te2/).
Following test fails several times:
property Is Not Like | java.lang.AssertionError: Unexpected HTTP status code. expected <br>[200] but found <br>[400]
Method: GET
URL: https://geo-inspire.trafikverket.se/Mapservice/wfs.axd/TN_RoadTransportNetwork?service=WFS&version=2.0.0&request=GetFeature&count=10&typenames=ns93:RoadLink&namespaces=xmlns(xml,http://www.w3.org/XML/1998/namespace),xmlns(ns93,urn:x-inspire:specification:gmlas:RoadTransportNetwork:3.0),xmlns(wfs,http://www.opengis.net/wfs/2.0)&filter=%3CFilter%20xmlns%3D%22http%3A%2F%2Fwww.opengis.net%2Ffes%2F2.0%22%20xmlns%3Ans93%3D%22urn%3Ax-inspire%3Aspecification%3Agmlas%3ARoadTransportNetwork%3A3.0%22%20xmlns%3Awfs%3D%22http%3A%2F%2Fwww.opengis.net%2Fwfs%2F2.0%22%3E%3CNot%3E%3CPropertyIsLike%20escapeChar%3D%22%5C%22%20singleChar%3D%22%3F%22%20wildCard%3D%22%2A%22%3E%3CValueReference%20xmlns%3Atns%3D%22http%3A%2F%2Fwww.opengis.net%2Fgml%2F3.2%22%3Etns%3Aidentifier%3C%2FValueReference%3E%3CLiteral%3E%2A00%3A5-1%3C%2FLiteral%3E%3C%2FPropertyIsLike%3E%3C%2FNot%3E%3C%2FFilter%3E
Outputs:
<cnt:rest><ExceptionReport xmlns="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://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd">
<Exception exceptionCode="InvalidParameterValue" locator="ValueReference">
<ExceptionText>Parameter value is invalid: ValueReference=Requested attribute does not exist.</ExceptionText>
</Exception>
</ExceptionReport></cnt:rest>
and
Method: POST
URL: https://geo-inspire.trafikverket.se/Mapservice/wfs.axd/TN_RoadTransportNetwork
Body:
<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs/2.0" count="10" service="WFS"
version="2.0.0">
<wfs:Query xmlns:ns56="urn:x-inspire:specification:gmlas:RoadTransportNetwork:3.0"
typeNames="ns56:RoadLink">
<Filter xmlns="http://www.opengis.net/fes/2.0">
<Not>
<PropertyIsLike escapeChar="\" singleChar="?" wildCard="*">
<ValueReference xmlns:tns="http://www.opengis.net/gml/3.2">tns:identifier</ValueReference>
<Literal>*00:5-1</Literal>
</PropertyIsLike>
</Not>
</Filter>
</wfs:Query>
</wfs:GetFeature>
Outputs:
<cnt:rest><ExceptionReport xmlns="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://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd">
<Exception exceptionCode="InvalidParameterValue" locator="ValueReference">
<ExceptionText>Parameter value is invalid: ValueReference=Requested attribute does not exist.</ExceptionText>
</Exception>
</ExceptionReport></cnt:rest>
This was already described in the description of this issue.
However, several other tests also fail but with a different error message: E.g. property Is Greater Than_match Any
, get Features By Type
or property Is Less Than Equal To_match Any
.
@dahermansson Are you aware of those additional failures?
@bpross-52n Can you please do a deeper analysis why the property Is Not Like
tests fail as documented above?
@dahermansson It appears that your service is ignoring the declaration of namespaces. Please see following snippet of the request:
<ValueReference xmlns:tns="http://www.opengis.net/gml/3.2">tns:identifier</ValueReference>
The GML namespace is bound to tns prefix. So, the correct namespace is used in the request.
You need to configure your server to be namespace aware.
When we use the service at https://cite.opengeospatial.org/teamengine/rest/suites/wfs20/ with the Inspire Validator we get faild tests on a bunch of tests which looks like the reason to fail is a request with a filter thats not correct. The namespace on the field in the filter is set to "tns" like in tns:Identifier the correct way to create the filter is to use gml:Identifier As described in the Issue 746 at Inspire-Validator we can't find any reason for it to use "tnf" as prefix/namespace in the requests.
To Reproduce Steps to reproduce the behavior: Validate a Inspire WFS-service.
Expected behavior Corrected formated filters using the expected field.
Screenshots Attached a ziped testresult (.rdf) TN_Road_WFS2022_05_03.zip