ViewService GetMap at59-getmap-exceptions expects status code 400 #919
-
The test GetMap_operation -> at59-getmap-exceptions -> http-request-getmap-exceptions-default -> Valid HTTP Status Code of the test suite Conformance Class View Service - WMS fails with the following service: https://www.geoseaportal.de/inspire/services/MU_INSPIRE_VS?service=WMS&request=GetCapabilities Testrun: https://inspire.ec.europa.eu/validator/v2/TestRuns/EID6b97891f-ace7-4eff-935b-ecbd100993f7.html The request https://www.geoseaportal.de/inspire/services/MU_INSPIRE_VS?BBOX=zzzz&CRS=zzzz&FORMAT=zzzz&HEIGHT=zzzz&LAYERS=zzzz&REQUEST=GetMap&SERVICE=WMS&STYLES=zzzz&VERSION=1.3.0&WIDTH=zzzz returns an !ExceptionReport, the status code is 200. As neither the WMS specifikation nor the INPISRE TG VS or the ATS of the test (https://github.com/inspire-eu-validation/view-service/blob/review-ats-tg_3.11/iso-19128/at59-getmap-exceptions.md) specifies the status code of the exception we assume that the implementation of test is too strict. |
Beta Was this translation helpful? Give feedback.
Replies: 19 comments 1 reply
-
Dear @lgoltz Thank you for opening this issue. We are looking into the WMS ETS/ATS and the Technical Guidelines for View Services, and will get back to you with more feedback. Kind regards. |
Beta Was this translation helpful? Give feedback.
-
In relation with the OGC WMS standard 1.3.0 maybe are relevant Annex E (normative), section E.2 and section H.2 from Annex H (informative). |
Beta Was this translation helpful? Give feedback.
-
The OGC WMS standard 1.3.0 states in Annex E: "Individual error messages appear as ServiceException elements within the ServiceExceptionReport element." "The schema may also be found on-line at http://schemas.opengis.net/wms/1.3.0/. However the tested WMS service response does not contain the ServiceException and the ServiceExceptionReport elements. The server response is not valid against the WMS schema mentioned in Annex E of the WMS standard, namely against http://schemas.opengis.net/wms/1.3.0/exceptions_1_3_0.xsd Here is an example of a request and a reply of a WMS service that is correctly configured So the test is not too strict. Maybe is just not indicating clearly where is the error. For example related to a wrong Bounding Box request https://www.geoseaportal.de/inspire/services/MU_INSPIRE_VS?**BBOX=zzzz**&CRS=EPSG%3A4258&FORMAT=image%2Fpng&HEIGHT=500&LAYERS=AU.MaritimeBoundary&REQUEST=GetMap&SERVICE=WMS&STYLES=AU.MaritimeBoundary.Default&VERSION=1.3.0&WIDTH=500 The validator provides this message for the tested service: This is not a sign of a too strict test, just that the validator is not able to figure where the error is and this is due to the fact that the response is not valid against the exception WMS schema mentioned in Annex E of the WMS standard, namely against http://schemas.opengis.net/wms/1.3.0/exceptions_1_3_0.xsd Indeed the error message "The server experienced a several unexpected error. Please, try again later. If the problem persist, please contact with the helpdesk." is vague and not helping the user to figure where is the error in his service. Same error message is provided by the validator for the request However, the service respond correctly to the incomplete request: |
Beta Was this translation helpful? Give feedback.
-
We are still working on this issue, looking for references for the status codes but we are still not 100% sure if the 400 error code is the correct one to use. Dear @ghobona, if you can share some feedback on this from the validation performed in the TEAM Engine about the error status code, it would be very much appreciated. @iuriemaxim you are right that the response of the service should be modified to adhere to the requirements. However, the main issue here is the HTTP status code for the response, and if it is correct to only use 200 OK status code. |
Beta Was this translation helpful? Give feedback.
-
Hi @carlospzurita , The identifiers listed above refer to tests in the INSPIRE validator. So it is unclear which test in the OGC validator detected the issue. Which test provided by the OGC Validator are you referring to? |
Beta Was this translation helpful? Give feedback.
-
@ghobona we would like to know what are the status codes expected by the TEAM engine in the getmap:exceptions module, if the status code 200 is the one expected, the 400 or a range of codes depending on the exception. |
Beta Was this translation helpful? Give feedback.
-
@carlospzurita There is no issue in the OCG Validator. I am almost sure that the OGC validator is not used by the INSPIRE Validator to test WMS (as it is not even possible because in order to validate a service against the OCG standard for WMS a specific sample data should be used - which of course is not an INSPIRE one). The server response (of the service for which was raised the issue) is not valid against the WMS schema mentioned in Annex E of the WMS standard, namely against http://schemas.opengis.net/wms/1.3.0/exceptions_1_3_0.xsd I think that I gave enough explanations above. |
Beta Was this translation helpful? Give feedback.
-
Thanks @iuriemaxim for clarifying. |
Beta Was this translation helpful? Give feedback.
-
@ghobona There is no issue indeed in the OGC Validator, sorry if you undestood my comment as a bug report. This question was to address the issue on the INSPIRE validator, because the ETS is only recognizing the status code 200 as valid for WMS. We have a reference on the ATS for this test that states that the only valid HTTP status code is 200 for OGC Web Services, which is unclear. The response of the service is not valid against the schema, for sure, and that is another issue that would need to be treated separatedly. But in the case of this issue, the main discussion is if the restricted HTTP status code recognized by the validator is aligned with the OGC specification. |
Beta Was this translation helpful? Give feedback.
-
@carlospzurita Understood. Not to worry. Section 6.11 of WMS 1.3.0 OGC 06-042 is relevant to this discussion. A screenshot is attached. |
Beta Was this translation helpful? Give feedback.
-
Please don't mention me, igoltz. I do get lots of unwanted email. |
Beta Was this translation helpful? Give feedback.
-
Dear @ghobona Thank you for your response. We think that it clarifies the issue here. If it is foreseen that a service can return a 404 in the case of an URL prefix not correct, then other status codes can be used for other type of errors. We are relaxing the check for the status code and allow 4xx status codes for services exceptions, not just 200. |
Beta Was this translation helpful? Give feedback.
-
@carlospzurita I am also getting this kind of error ("The server experienced a several unexpected error. Please, try again later. If the problem persist, please contact with the helpdesk.") e.g. when testing https://inspire.brandenburg.de/services/so_basen_wms?REQUEST=GetCapabilities&SERVICE=WMS for "at05-getcapabilities-get-capabilities-request-parameter" in the test with ID EID0541754a-dc44-4f02-a141-e3b2b408e23a ("Valid HTTP Status Code"): As in this ticket, only status codes for GetMap related responses were addressed so far: Will the changes also include relaxing the check for the status code of GetCapabilities requests? I have an additional question: Does this discussion only concern tests entitled "Valid HTTP Status Code"? I also get the "The server experienced a several unexpected error. Please, try again later. If the problem persist, please contact with the helpdesk." error message for other tests, e.g. for the one with ID EID2fca2634-8e01-452d-a1cc-201931723c78 |
Beta Was this translation helpful? Give feedback.
-
@carlospzurita Could you please let me know if you expect all error messages "The server experienced a several unexpected error. Please, try again later. If the problem persist, please contact with the helpdesk."? |
Beta Was this translation helpful? Give feedback.
-
Dear @JohannaOtt , since your last feedback, several performance patches have been applied to the server. could you please test and confirm it? Thanks a lot. Best regards, |
Beta Was this translation helpful? Give feedback.
-
I can confirm that the errors mentioned do not occur any longer for my example WMS in the production instance. So from my point of view, the issue could be closed. |
Beta Was this translation helpful? Give feedback.
-
Dear @lgoltz, we reviewed this issue and after a deep investigation, we can conclude that according to the explanation provided by iuriemaxim in a previous comment the service exception of your WMS is not valid according to the related exception schema (http://schemas.opengis.net/wms/1.3.0/exceptions_1_3_0.xsd). According to Annex E of the WMS standard:
It seems that a not compliant service exception response (as for your WMS) generates a status code of 400, on the contrary, if the exception response is compliant with the WMS standard the status code is 200. The final conclusion seems to be that for the specific error you reported the problem is not related to the status code and too strict implementation of the test but to a non-compliant service exception response. Could you please try to revise your service settings and try again? |
Beta Was this translation helpful? Give feedback.
-
Unfortunately, I do get "The server experienced a several unexpected error. Please, try again later. If the problem persist, please contact with the helpdesk." again when testing this WMS on production. So it seems that there is still an issue. |
Beta Was this translation helpful? Give feedback.
-
Dear @JohannaOtt, since the error you reported is different from the one for which the issue was opened, I kindly ask you to open a new issue if the error persists. I will convert the issue into a discussion since a solution was provided to the user to fix the issue. |
Beta Was this translation helpful? Give feedback.
Dear @lgoltz,
we reviewed this issue and after a deep investigation, we can conclude that according to the explanation provided by iuriemaxim in a previous comment the service exception of your WMS is not valid according to the related exception schema (http://schemas.opengis.net/wms/1.3.0/exceptions_1_3_0.xsd).
According to Annex E of the WMS standard:
It seems that a not compliant service exception response (as for your …