Tomcat中的BIRT报表查看器在禁用工具栏的情况下可以使用,但是在启用工具栏时会失败。有什么想法吗?

问题描述 投票:0回答:1

我们有一个Tomcat Webapp,其中包含BIRT报告。暂时,我不知道我们使用的是哪个版本的BIRT,但是问题是在IBM Midrange上运行在64位Java 8上的Tomcat 7.0.93中的单个安装(许多安装)中发生的框。

在此安装中,如果禁用了BIRT查看器工具栏,则报告运行良好。

但是如果启用了该工具栏,那么我们将得到一个空指针异常,并产生以下堆栈跟踪:

java.lang.NullPointerException
   at org.eclipse.birt.report.engine.api.impl.RenderTask.initRenderTask(RenderTask.java:153)
   at org.eclipse.birt.report.engine.api.impl.RenderTask.(RenderTask.java:115)
   at org.eclipse.birt.report.engine.api.impl.RenderTask.(RenderTask.java:98)
   at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.createRenderTask(ReportEngineHelper.java:502)
   at org.eclipse.birt.report.engine.api.impl.ReportEngine.createRenderTask(ReportEngine.java:515)
   at org.eclipse.birt.report.service.ReportEngineService.createRenderTask(ReportEngineService.java:1635)
   at org.eclipse.birt.report.service.ReportEngineService.renderReport(ReportEngineService.java:1537)
   at org.eclipse.birt.report.service.BirtViewerReportService.getPage(BirtViewerReportService.java:204)
   at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.doExecution(AbstractGetPageActionHandler.java:237)
   at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.__execute(AbstractGetPageActionHandler.java:104)
   at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
   at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPage(BirtDocumentProcessor.java:87)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
   at java.lang.reflect.Method.invoke(Method.java:508)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
   at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
   at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
   at java.lang.reflect.Method.invoke(Method.java:508)
   at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
   at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
   at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
   at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
   at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
   at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
   at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
   at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
   at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
   at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:250)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
   at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
   at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:136)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
   at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
   at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
   at com.touchtone.wintouch.WintouchFilter.doFilter(WintouchFilter.java:126)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
   at com.touchtone.wintouch.security.ContentSecurityPolicyFilter.doFilter(ContentSecurityPolicyFilter.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
   at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1137)
   at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
   at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:319)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
   at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
   at java.lang.Thread.run(Thread.java:811)

在我们的其他任何安装上都没有发生,这使我们的webapp团队陷入了困境。

[其他可能相关的信息:1.这似乎未在任何Tomcat日志中放入anything。2. Tomcat管理器或在Tomcat服务器作业上执行WRKJVMJOB都不会显示任何迹象表明该作业正在堆空间不足。

java tomcat birt
1个回答
0
投票

拦截请求并进行比较,以查找标题,URL参数等之间是否存在差异。 Fiddler(或其他一些拦截代理,TLS调试日志等)。

Java 14引入了一个不错的选项,使NullPointerException更加详细,但是您需要在启动时使用-XX:+ShowCodeDetailsInExceptionMessages启用它。

如果其他所有方法均失败,请在启用远程调试套接字的情况下运行Tomcat,并使用例如Eclipse可以在您要检查的任何方法或异常上设置断点。

祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.