-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WMS Validation #22
Comments
Validation of the wms using the staging instance of the INSPIRE ValidatorResource that was tested:
The failure of tests at69 & at70 are caused by geoserver's behavior. I have asked the community here for input. |
Check if Geoserver 2.19.1 would pass the missing parameters test for GetMap operationThe idea of going back to geoserver 2.19.1 would be a solution, since the internationalization is not enabled, so the language tests would be succesful. Remembering that version 2.15.0 that is used in the production geoportal today, failed only in the tests regarding the behavior of geoserver when some parameters of the getmap request are missing, I manualy checked the getmap response of a local instance of geoserver 2.19.1, in order to find out if its behavior - as regards the missing parameters in getmap operation - would be INSPIRE compliant. If the "Strict CITE compliance" is checked, Geoserver throws a service exception when style and crs parameters are missing and also when the transparent parameter is invalid (eg transparent=zzz). If the version parameter is missing, Geoserver responds with an empty map. I am not sure if this responce is accepted by the validator as valid. We should try it. |
Lets downgrade to 2.19.x to test |
Using a recommendation we got from a colleague who has tested 2.19.x versions of geoserver, it seems that there is a bug in 2.19.2 so we could try 2.19.3. |
Option 1: Downgrade to 2.19.x from 2.20.x |
GeoServer downgraded to 2.19.4 for testing |
Version 2.19.4 does not seem to be suitable for our INSPIRE implementation, since it does not implement the WMS standard, as regards the missing VERSION parameter. Let's test version 2.19.3. |
GeoServer downgraded to 2.19.3 for testing |
GeoServer downgraded to 2.19.1 for testing |
Testing of the WMS Capabilities response (Geoserver 2.19.2 on beta.geoportal.ypen.gr)Request tested: http://beta.geoportal.ypen.gr/geoserver/aqd-wms/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities Tests that fail: Might be related to this but I am not sure. 2. at50-getmap-version-parameter WMS 1.3.0 GetMap request WITH version parameter: WMS 1.3.0 GetMap request WITHOUT version parameter: When the version parameter is missing Geoserver responds by default with a WMS 1.1.1 response, but due to the difference in the axis ordering (see here for details), the browser shows a different part of the planet. There is one more difference between the two versions of the WMS standard (1.1.1 and 1.3.0), the name of the parameter for the coordinate reference system. For WMS 1.1.1 it should be "srs" and for WMS 1.3.0 it is "crs". When Geoserver is requested using the WMS 1.1.1 version of the std, it responds with a map whether the parameter srs or crs is used. And to prove the above, check the following request and response: It responds with a map, but the bbox order is wrong. If we change the bbox order, without changing the crc to srs, So Geoserver, in order to provide a response to the user, even if the version parameter is missing when the WMS 1.3.0 is requested, it responds with the map in version 1.1.1. But it does not correct the bbox, so the map is empty because it shows another part of the globe. I guess the above problem cannot be solved by reconfiguration. |
Just deployed GeoServer 2.20.1 with inspire plugin 2.19.1 for testing |
New deployment testing1. tool: INSPIRE validator (PROD) https://inspire.ec.europa.eu/validator/test-selection/index.html Failed tests: at04-getcapabilities-xml-schema-validation related issues on the INSPIRE validator helpdesk: Is it possible to edit this file and then put it back in the .jar package? If not, I could ask our colleague who reported the issue above. at47-getcapabilities-layer-style-legend-url 2. tool: INSPIRE validator (STAGING) http://staging-inspire-validator.eu-west-1.elasticbeanstalk.com/etf-webapp/test-selection/index.html Failed tests: at04-getcapabilities-xml-schema-validation at47-getcapabilities-layer-style-legend-url The issue was reported upstream here: INSPIRE-MIF/helpdesk-validator#680 3. tool: INSPIRE validator: local instance http://beta.geoportal.ypen.gr/validator/ I propose to keep this deployment and try to fix whatever is possible. |
Switched to default configuration of GeoServer just to confirm the above is not a configuration issue. |
Updated to GeoServer 2.20.2 with 2.19.1 inspire plugin |
New deployment testing with default configurationresource tested: http://beta.geoportal.ypen.gr/geoserver/ows?service=wms&version=1.3.0&request=GetCapabilities Minimum configuration:
INSPIRE validator (PROD)Tests that fail: I tried the following:
at39-getcapabilities-layer-name at47-getcapabilities-layer-style-legend-url INSPIRE validator (STAGING)As commented before, the staging instance of the validator tests other operations also (GetMap Operation, LinkViewService Operation, Language requirements). There are no fails with these extra tests. As for the GetCapabilities Operation tests, the same tests fail (at04 for the xml schema and at47 for the legend url). The weird thing is that the layer name test passes (!). |
Updated InspireMetadata.class file in inspire jar, replacing https with http |
https://github.com/geoserver/geoserver/blob/main/doc/en/user/source/extensions/inspire/using.rst "At the time of writing the INSPIRE Schemas only allow 23 choices for :guilabel: |
Is it possible to give it a try? |
Too bad that 2 of the EU official languages are left off of the extended capabilities schema. Fortunately, greek is not one of them, so choosing it, it wouldn' t cause a schema validation issue. Nevertheless, the reason why we did not use the internationalization is not the missing language code. The reason is that the extended capabilities section Geoserver adds to the capabilities response is wrong. Correct Extended Capabilities (View Service TG v3.11) Geoserver Extended Capabilities Section (https://github.com/geoserver/geoserver/blob/main/doc/en/user/source/extensions/inspire/using.rst#id71) |
requested other implementers' feedback as regards the failure of test at04, here |
After revisiting the wms validation issue, I came accross the following, as regards the fixing of the missing &VERSION= parameter in the GetLegendGraphic request.
@kalxas are we using the latest version of Geoserver? If yes, I should check if the inspire extension is causing the problem... |
Pull request merged on 2.20.x branch on Jan 27th: We have currently 2.20.2 in beta with 2.19.1 inspire extension. We need to update GeoServer and the INSPIRE extension to 2.20.3 |
GeoServer 2.20.3 now available in beta geoportal |
Tested the new geoserver using the staging instance of the INSPIRE validator. The use of the 2.20.3 inspire extension brings back the languages problem.
We could probably try to solve the language requirements issues by using an older version of inspire extension, like we did before. I propose though to keep the current set up in order to avoid compatibility issues. Additionaly, the use of the older extension might cause other mulfunction. |
Let's collect here all the issues that arise as regards the validation of the wms capabilities response.
The first one I am reporting is that the test failsfor the /Layer/Style/LegendURL/Format. The test requires the format to be application/xml when geoserver responds with format image/png. I have already asked the INSPIRE validator helpdesk here INSPIRE-MIF/helpdesk-validator#618, by replying to an existing issue.
The text was updated successfully, but these errors were encountered: