"Invalid locale format: es_419" error when accessing JasperSoft UI using Google Chrome
java.lang.IllegalArgumentException: Invalid locale format: es_419
at org.apache.commons.lang.LocaleUtils.toLocale(LocaleUtils.java:99)
at com.jaspersoft.jasperserver.war.JSSessionLocaleResolver.getLocaleFromCookies(JSSessionLocaleResolver.java:71)
at com.jaspersoft.jasperserver.war.JSSessionLocaleResolver.resolveLocale(JSSessionLocaleResolver.java:54)
at com.jaspersoft.jasperserver.api.security.WebAppSecurityFilter.doFilter(WebAppSecurityFilter.java:76)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at com.jaspersoft.jasperserver.war.MultipartRequestWrapperFilter.doFilter(MultipartRequestWrapperFilter.java:95)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at com.jaspersoft.jasperserver.war.NullFilter.doFilter(NullFilter.java:43)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at com.jaspersoft.jasperserver.api.security.encryption.EncryptionFilter.doFilter(EncryptionFilter.java:150)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at com.ca.bicoe.cajasperserver.preauth.sso.filters.BasicRefererBasedCsrfFilter.doFilter(BasicRefererBasedCsrfFilter.java:99)......
JasperSoft 6.x, 7.x, 8.x and 9.x
All Supported Windows Server OS
All Supported Web Browsers
This issue/error is caused by Spanish (Latin America) language selected in Chrome which defaults into es_419 code.
While this is a valid code according to ISO, it is not a valid code for Java or JasperServer.
By default, JasperSoft Server does not have property files for different locales, like es_419.
Tibco logged this as a defect to be addressed in the future, but currently we have no other solution other than switching to the English language locale in Chrome.
You will need to configure Google Chrome to have ENGLISH as the first/default language:
1. Launch Google Chrome web browser
2. Type "chrome://settings" in the address bar to access Chrome settings
3. Once you are in the Settings menu, scroll down to the bottom of the list and click on Advanced to display additional options.
4. Continue to scroll down until you see Languages. Click or tap on Languages or the downward arrow on the right to see display more options.
5. If not present, add the ENGLISH language. Ensure that ENGLISH is at the top of the Language list.
After changes have been made, exit Chrome and access JasperSoft UI.