Unable to pass INSPIRE validation: Language Default

Description

I try to validate with the inspire API validation my WMS service:

https://demo-geoservices8.civis.bz.it/geoserver/p_bz-Inspire/ows?service=wms&version=1.3.0&request=GetCapabilities

The validator fail on:

I think the both controls fails because the response of the GetCapabilities with a “NON-VALID” LANGUAGE parameter are not the same as the response without the LANGUAGE parameters

Here the examples:

Request without language parameter (return a valid xml): https://demo-geoservices8.civis.bz.it/geoserver/p_bz-Inspire/ows?service=wms&version=1.3.0&request=GetCapabilities

Request with language parameter (return the same response): https://demo-geoservices8.civis.bz.it/geoserver/p_bz-Inspire/ows?service=wms&version=1.3.0&request=GetCapabilities&LANGUAGE=eng

Request with invalid language parameter return the following message instead of a valid getcapabilities response: https://demo-geoservices8.civis.bz.it/geoserver/p_bz-Inspire/ows?service=wms&version=1.3.0&request=GetCapabilities&LANGUAGE=xxx

 

Environment

CentOS 7

GS 2.21.0

INSPIRE plugin

Activity

pietro.dorio 
October 8, 2024 at 9:00 AM

No update? who takes over? fix version?

pietro.dorio 
March 11, 2024 at 8:42 AM

The ticket has been open for two years, the customer is still waiting for validation. Any updates?

Ralf Trier 
August 16, 2022 at 12:42 PM
(edited)

I had the same problem.

at69: The Inspire Test validator request with LANGUAGE=chi. Geoserver doesnt know the language and throws an error.

at70: The Inspire Test validator sends a request without a LANGUAGE Parameter and expect to get the default language. I am not really sure what geoserver is sending back but I think it has no language parameter in the urls within the Capabilities it sends back.

How I solved this:

I wrote a filter (javax.servlet.Filter) and included it in the web.xml.

The filter rules to change the LANGUAGE parameter.

1. if LANGUAGE is present but not included in the supported Language set LANGUAGE=defaultLanguage

2. if LANGUAGE is not present set LANGUAGE=defaultLanguage

This could also to be done in rewrites if a proxy (apache, nginx) is be used. For me was the use of a filter the clearer way.

Ralf

Details

Assignee

Reporter

Affects versions

Components

Priority

Created June 23, 2022 at 8:12 AM
Updated October 8, 2024 at 9:00 AM