Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
BIRT 2.5.2 Web Viewer Error
jjfeigal
I am developing a report using BIRT 2.5.2.
The report uses an XML data source/dataset. Initially, the report is architected with a single grid, and each row of the grid contains a table. Also, I have a second version of the report with a separate grid for each table. I am using one or more grids so that we can add charts to the report for some or all of the tables.
Each table filters a different "set" of data from the dataset. Detail rows are not displayed in a table - only group headers that display counts and percentages for each unique data value, as well as a table footer displaying total counts and sometimes averages.
When viewing the report in the BIRT web viewer, an error is sometimes generated depending on the specified report parameters. Initially, I thought that the error was data dependent. But using a suspect set of data parameters, I have found that I can successfully display the report in Preview Mode, or if I view the report as DOC, HTML, PDF, or XLS.
Attached is a copy of the generated error information as well as a successfully generated PDF if it is of interest.
I need to eventually get the report working in the BIRT web viewer in order to deploy it in production. Any ideas what might be the issue when trying to render the report in the BIRT web viewer? Or are there any suggestions for doing additional debugging?
Find more posts tagged with
Comments
JasonW
Any chance you can post the report with the xml data to reproduce the issue?
Jason
jjfeigal
Jason
First, attached is a modified copy of the report where I have removed references to our production system with the text string "*** Value deleted for confidentiality ***".
Second, attached is a modified version of the XML data generated from the database (the file was saved with a .txt extension because the forum won't let me attach a file of .xml extension). I've deleted all client specific details. The report in the web viewer fails when only this one record is selected from the client database.
Third, attached is a generated PDF copy of the report for this data.
Thanks for any help that you can provide.
JasonW
I was not able to get the report to run. Do all three datasources use the same xml file? What parameter value does the report fail on? What error do you get?
Jason
jjfeigal
Jason
I will need to get management approval to give you a runnable version of the report, as I'm only able to generate the error with client production data.
I can get the report to fail with the following parameter values:
beginDate=20100129
endDate=20100129
Sector=Healthcare
dbUrl= *** a value that I cannot give you as it accesses a client Lotus Domino database ***
In my original post in this thread, I attached a file with the complete error list that I am receiving.
The complete error list is:
org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report
at org.eclipse.birt.report.service.ReportEngineService.throwDummyException(ReportEngineService.java:1097)
at org.eclipse.birt.report.service.ReportEngineService.renderReport(ReportEngineService.java:1543)
at org.eclipse.birt.report.service.BirtViewerReportService.getPage(BirtViewerReportService.java:204)
at org.eclipse.birt.report.service.actionhandler.BirtChangeParameterActionHandler.doRenderPage(BirtChangeParameterActionHandler.java:82)
at org.eclipse.birt.report.service.actionhandler.AbstractChangeParameterActionHandler.__execute(AbstractChangeParameterActionHandler.java:103)
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.handleChangeParameter(BirtDocumentProcessor.java:100)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
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.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
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:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:318)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:380)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:748)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
Caused by: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report
at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:233)
at org.eclipse.birt.report.service.ReportEngineService.renderReport(ReportEngineService.java:1537)
... 50 more
Caused by: java.lang.ClassCastException: org.eclipse.birt.report.engine.content.impl.TableBandContent cannot be cast to org.eclipse.birt.report.engine.content.IRowContent
at org.eclipse.birt.report.engine.content.impl.CellContent.getComputedStyle(CellContent.java:244)
at org.eclipse.birt.report.engine.content.impl.AbstractContent.getComputedStyle(AbstractContent.java:317)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processData(LocalizedContentVisitor.java:318)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localizeData(LocalizedContentVisitor.java:292)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:161)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:37)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
at org.eclipse.birt.report.engine.layout.html.HTMLTableBandLM.layoutChildren(HTMLTableBandLM.java:67)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
at org.eclipse.birt.report.engine.layout.html.HTMLGroupLM.layoutChildren(HTMLGroupLM.java:117)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:132)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:111)
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:160)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:132)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:99)
at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.render(RenderTask.java:600)
at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:221)
... 51 more
JasonW
Can you make a copy of the report and start deleting one table at a time to see which one is having the issue?
Jason
jjfeigal
Jason
Attached is a different version of the modified report. I've stripped out all unnecessary data sources and data sets. The remaining data source/set directly accesses a flat xml data file rather than interfacing with the Lotus Domino client database. Attached is a copy of the xml data file that should be saved in the c:/ root directory after renaming the file to remove the txt file extension needed to attach the file to this forum entry (file attachments with an xml file extension are not allowed.
Hopefully, you will be able to recreate the BIRT 2.5.2 web viewer error that I am encountering. You can successfully run the report displayed directly as a PDF file.
Thanks.
JasonW
Ok was able to see the issue. On the Age At Intake table you have a bound column named Average Age which is not used but is still evaluated and you did not filter out NO DATA ENTERED, so it fails. Just select the table, then select binding and select the Average Age column and delete it. That should fix this issue.
Jason
jjfeigal
Jason
Thanks for catching that.
I was heading in that direction this morning after my earlier post.
I deleted tables one by one from the bottom up and the report ran in the web viewer when only the first table remained in the report.
I deleted tables one by one from the top down and the report ran in the web viewer after I deleted the first two tables (the second of which was the age at intake).
While developing the report, I was creating new tables by coping existing tables and modifying table definitions as needed. I will be more diligent in my modifications in the future.
Do you have any idea why the report failed in the web viewer but not when displayed in other formats?
JasonW
I am not certain why it did not fail in preview etc. The only difference is that the web viewer creates a rpt document where the results of aggregations are actually written to disk.
Jason