Export of Jaspersoft Graphical Reports fails post upgrade of Google Chrome
search cancel

Export of Jaspersoft Graphical Reports fails post upgrade of Google Chrome

book

Article ID: 261979

calendar_today

Updated On:

Products

Clarity PPM On Premise Clarity PPM SaaS

Issue/Introduction

Post upgrade of Google Chrome to 111.0.5563.65 , any reports which has chart fails to export and below errors are seen in log 

Error Trace
net.sf.jasperreports.engine.JRRuntimeException:
com.github.kklisura.cdt.services.exceptions.ChromeServiceException:
Server responded with non-200 code: 405 - Method Not Allowed. Using unsafe HTTP verb GET to invoke /json/new.
This action supports only PUT verb
.
at com.jaspersoft.jasperreports.highcharts.charts.ChartPdfHandler.exportElement(ChartPdfHandler.java:45) at net.sf.jasperreports.engine.export.JRPdfExporter.exportGenericElement(JRPdfExporter.java:4141) at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:1290) at net.sf.jasperreports.engine.export.JRPdfExporter.exportFrame(JRPdfExporter.java:4060) at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:1286) at net.sf.jasperreports.engine.export.JRPdfExporter.exportFrame(JRPdfExporter.java:4060) at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:1286) at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:1210) at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:1074) at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:691) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.exportToPdf(EngineServiceImpl.java:615) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)

Environment

Jaspersoft 7.8 & 8.1.1 with all supported Clarity versions 

Cause

This error is observed after upgrading Chrome to 111.0.5563.65 version. Tracking the issue we observed the following.

  • Chrome changed the way where a new tab used to be invoked, where it currently only supports the PUT method for endpoint /json/new. Link
  • JasperServer 8.1.1 and JasperServer 7.8.0 are both still using the GET method in their implementation to create a tab and that's where it's throwing the above error
  • Tibco has acknowledged this as defect JRL-1820 and Clarity team is tracking via DE68889

Resolution

  • The fix is available on Jaspersoft 8.1.1 patch 1
    GA Announcement Jaspersoft 8.1.1 Patch 1
  • Customers using Jaspersoft 7.8 can use the below workaround
    1. Downgrade Google Chrome (or) Chromium engine to Version 110 or below
    2. Download chromium or Google Chrome Version 110 (or below) onto the server 
    3. Stop Jaspersoft Services 
    4. Change the configuration to point back to chromium or Google Chrome Version 110
      • Configuration can be found in js.config.properties (<tomcat>/webapps/reportservice/WEB-INF/js.config.properties) file
      • Update the chrome.path key-value pair to point to chromium or Google Chrome Version 110
        • Example - chrome.path=/Applications/Chromium.app/Contents/MacOS/Chromium

 

Additional Information

Note: If Google Chrome 110 is not available for download, use Chromium older release