opengeospatial / ets-wfs20

Executable Test Suite for WFS 2.0
Other
8 stars 11 forks source link

SR WFS Test - Reports invalid Geometry Operand #233

Closed robblis closed 1 year ago

robblis commented 1 year ago

Hi Validator Team,

We're testing our SR theme for the OGC WFS Validation.

We are getting some invalid Geometry Operand failures and some successes. We're trying to understand what the issue could be.

The following shows the URL and POST body used for the test:

Method: POST URL: https://inspiredemo.esri.com/arcgis/rest/services/sr_test/MapServer/exts/InspireFeatureDownload/service Body: <wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs/2.0" count="10" service="WFS" version="2.0.0"> <wfs:Query xmlns:ns99="http://inspire.ec.europa.eu/schemas/sr/4.0" typeNames="ns99:MarineCirculationZone"/> </wfs:GetFeature>

The POST request seems to run okay if I use the GetFeature POST URL specified in the GetCapabilities XML: https://inspiredemo.esri.com/arcgis/services/sr_test/MapServer/InspireFeatureDownload

If I use the URL specified in the report then I get an exception: <?xml version="1.0" encoding="UTF-8" ?><ExceptionReport xmlns="http://www.opengis.net/ows/1.1" version="2.0.0" ><Exception exceptionCode="MissingParameterValue" locator="service" ><ExceptionText><![CDATA[Operation request does not include a parameter value, and this server did not declare a default value for that parameter.]]></ExceptionText><ExceptionText><![CDATA[Operation request does not include a parameter value, and this server did not declare a default value for that parameter. Bad request]]></ExceptionText></Exception></ExceptionReport>

However, I don't get the error reported in the test result: java.lang.RuntimeException: Could not create envelope for feature type: {http://inspire.ec.europa.eu/schemas/sr/4.0}MarineCirculationZone

I have no way of determining what URL the test actually used when running the report other that what is reported.

Can we get some assistance?

I've attached the report to the case.

Thanks, Robert

SR_WFS_Test_s0011.zip

dstenger commented 1 year ago

Thank you for reporting.

I am able to reproduce your problem.

Indeed, this seems to be a bug being caused by the changes done in https://github.com/opengeospatial/ets-wfs20/pull/214.

The usage of dataSampler was introduced which is not filled with all relevant values.

https://github.com/opengeospatial/ets-wfs20/blob/cf61f9509a1a7cdaacf36a38508bc8c360585b86/src/main/java/org/opengis/cite/iso19142/basic/filter/spatial/BBOXTests.java#L228-L234

@bpross-52n Can you please check why dataSampler was introduced here? Why can't the featureInfo map be used to retrieve the relevant values (please see referenced PR)?

bpross-52n commented 1 year ago

First of all, the URL that is specified for POST requests in the capabilities of the service is used for POST requests.

However, Two things are going wrong:

  1. The wrong URL is shown on the test details page. This is due to a current limitation in Teamengine. We are creating an issue in the Teamengine repository for this.
  2. Like @dstenger mentioned, there is a bug in the WFS 2.0 test suite. That is the reason why the test fails inn the first place. We fixed this in this branch [1] and are going to merge it soon.

Let us know if you have any further questions.

[1] https://github.com/opengeospatial/ets-wfs20/tree/issue%23233

dstenger commented 1 year ago

We created an issue for TEAM Engine describing the wrongly reported URL in HTML report: https://github.com/opengeospatial/teamengine/issues/555

dstenger commented 1 year ago

Also changes in this this test suite are necessary. However, a precondition is that https://github.com/opengeospatial/teamengine/issues/555 is solved.