Home
Analytics
XML Data source deployed in Tomcat causes NullPointerException
karl234
Hi,<br />
<br />
I have a report that uses an XML data source and I've previewed the report in the Designer it generates the report. However, when I deploy the same report to the BIRT Viewer on Tomcat I get the exception pasted at the end of this post.<br />
<br />
To eliminate problems with the Tomcat & Birt Viewer installation I wrote the same report but change the Data source to a JDBC database. Installed the relevant drivers and the report ran fine.<br />
<br />
I haven't been able to identify anything in the installation procedure that I've missed; has any one else had a similar problems?<br />
<br />
<strong class='bbc'>Exception</strong><br />
<br />
Aug 5, 2008 11:51:54 AM org.eclipse.birt.report.engine.api.impl.RunTask doRun<br />
SEVERE: An error happened while running the report. Cause:<br />
java.lang.NullPointerException<br />
at org.eclipse.birt.report.engine.adapter.ModelDteApiAdapter.newJointDataSet(ModelDteApiAdapter.java:300)<br />
at org.eclipse.birt.report.engine.adapter.ModelDteApiAdapter.createDataSetDesign(ModelDteApiAdapter.java:212)<br />
at org.eclipse.birt.report.engine.adapter.ModelDteApiAdapter.doDefineDataSet(ModelDteApiAdapter.java:276)<br />
at org.eclipse.birt.report.engine.adapter.ModelDteApiAdapter.defineDataSet(ModelDteApiAdapter.java:235)<br />
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.prepare(AbstractDataEngine.java:135)<br />
at org.eclipse.birt.report.engine.executor.ReportExecutor.execute(ReportExecutor.java:101)<br />
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:59)<br />
at org.eclipse.birt.report.engine.internal.executor.emitter.ReportEmitterExecutor.execute(ReportEmitterExecutor.java:76)<br />
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:59)<br />
at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplciateReportExecutor.execute(SuppressDuplciateReportExecutor.java:51)<br />
at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:193)<br />
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:228)<br />
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:89)<br />
at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1117)<br />
at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:146)<br />
at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:78)<br />
at org.eclipse.birt.report.service.actionhandler.BirtChangeParameterActionHandler.runReport(BirtChangeParameterActionHandler.java:57)<br />
at org.eclipse.birt.report.service.actionhandler.AbstractChangeParameterActionHandler.__execute(AbstractChangeParameterActionHandler.java:53)<br />
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:89)<br />
at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)<br />
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:159)<br />
at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleChangeParameter(BirtDocumentProcessor.java:100)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
at java.lang.reflect.Method.invoke(Method.java:585)<br />
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:111)<br />
at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
at java.lang.reflect.Method.invoke(Method.java:585)<br />
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)<br />
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)<br />
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)<br />
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)<br />
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)<br />
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)<br />
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)<br />
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)<br />
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)<br />
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:225)<br />
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)<br />
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)<br />
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)<br />
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:112)<br />
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)<br />
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)<br />
at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)<br />
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)<br />
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)<br />
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)<br />
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)<br />
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)<br />
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)<br />
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)<br />
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)<br />
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)<br />
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)<br />
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)<br />
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)<br />
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)<br />
at java.lang.Thread.run(Thread.java:595)
Find more posts tagged with
Comments
Virgil Dodson
Hi karl234,
What version of Tomcat are you using? Maybe there is an older XML/SAX processor or other conflicting library. I also see something about a joint data set in the report... Are you combining this XML source with another one?
karl234
Virgil,
Thanks for your reply. I'm using Tomcat version 5.5.26 and it was a fresh installation, the only thing I'm running in it right now in addition to the default applications is the BIRT viewer.
As for the joint data set, I've mapped different parts of my XML tree to data sets. Then I take the data sets that this particular report is interested in and join them.
Thanks,
Karl