I followed the example provided at <a class='bbc_url' href='
http://wiki.eclipse.org/RCP_Example_(BIRT)_2.1'>RCP Example (BIRT) 2.1 - Eclipsepedia</a> and used WebViewer plugin to pass parameters from application and display the report using frameset servlet. <br />
<br />
// Start the WebViewer server<br />
WebViewer.startup(currentWebApp.getName());<br />
String preParameters = createURL("frameset", reportName, format);<br />
String reportParams = getReportParameters();<br />
// Display the report in SWT browser<br />
String finalUrl = preParameters + reportParams;<br />
browser.setUrl(finalUrl);<br />
<br />
The report gets displayed without any issues and I am able to export the output to Excel/PDF. But when I try to invoke the print functionality, I am getting the following error. Why is the session expiring? Is there anyway that I could set the session parameters.<br />
<br />
- The viewing session is not available or has expired.<br />
<br />
org.eclipse.birt.report.exception.ViewerException: The viewing session is not available or has expired.<br />
at org.eclipse.birt.report.servlet.BaseReportEngineServlet.doGet(BaseReportEngineServlet.java:158)<br />
at org.eclipse.birt.report.servlet.BaseReportEngineServlet.doPost(BaseReportEngineServlet.java:224)<br />
at javax.servlet.http.HttpServlet.service(HttpServlet.java:616)<br />
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)<br />
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)<br />
at org.eclipse.birt.report.servlet.BaseReportEngineServlet.service(BaseReportEngineServlet.java:116)<br />
at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)<br />
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)<br />
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)<br />
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)<br />
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)<br />
at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:269)<br />
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)<br />
at org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:677)<br />
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)<br />
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)<br />
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)<br />
at org.mortbay.http.HttpServer.service(HttpServer.java:909)<br />
at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)<br />
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)<br />
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)<br />
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)<br />
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)<br />
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)