on 11-19-2015 5:52 AM
Hi
I have a java application which connects to BO 4.1 server. We are in the migration phase of application from BO 3.1 to 4.1.
I have added new jars and am able to view report properly.
But, in one scenario where code to log off enterprise session is added at the end of jsp, exception is encountered.
I would like to know if adding code to logoff is necessary? If not then won't it keep occupying resources at BO server which may impact BO server performance? Please help.
Firstly, below is the jsp code:
JSP code:
String rptName = ReportConstants.RPT_PROFIT_AND_LOSS;
ReportClientDocument clientDoc = null;
CrystalReportEnterpriseSession crystalReportEnterpriseSession = new CrystalReportEnterpriseSession();
IEnterpriseSession enterpriseSession = crystalReportEnterpriseSession.getEnterpriseSession();
clientDoc = GetReportClientDocument.getReportClientDocument(enterpriseSession,rptName);
CrystalReportViewer viewer = null ;
viewer = new CrystalReportViewer();
viewer.setReportSource(clientDoc.getReportSource());
viewer.setOwnPage(true);
viewer.setDisplayPage(true);
viewer.setDisplayGroupTree(false);
viewer.setDisplayToolbar(true);
viewer.setEnableLogonPrompt(true);
viewer.setEnableParameterPrompt(true);
viewer.setHasLogo(true);
viewer.setHasExportButton(true);
viewer.setHasGotoPageButton(true);
viewer.setHasPageNavigationButtons(true);
viewer.setHasPrintButton(true);
viewer.setHasRefreshButton(false);
viewer.setHasSearchButton(false);
viewer.processHttpRequest(request,response , getServletContext(), null);
viewer.dispose();
enterpriseSession.logoff(); // exception encountered at this line. If this line is commented, code works properly and report is displayed
Exception stack trace:
[11/19/15 11:00:57:603 IST] 0000009d SystemOut O [2015-11-19 11:00:57,392] [ERROR] [com.crystaldecisions.sdk.occa.managedreports.ras.internal.CECORBACommunicationAdapter] CECORBACommunicationAdapter.request() Throwable - Unable to reconnect to the CMS DEV-BOBI-01.devsntg.com:6400. The session has been logged off or has expired. (FWM 01002)
[11/19/15 11:00:58:375 IST] 0000009d SystemOut O ERROR [WebContainer : 4] (WebReportLogger.java:62) - Unable to process listener
com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Unable to connect to the server: DEV_BOBI_01.CrystalReports2013ReportApplicationServer. --- Unable to reconnect to the CMS DEV-BOBI-01.devsntg.com:6400. The session has been logged off or has expired. (FWM 01002)---- Error code:-2147217387 [CRSDK00000847] Error code name:connectServer
at com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException.throwReportSDKServerException(ReportSDKServerException.java:115)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal.CECORBACommunicationAdapter.request(CECORBACommunicationAdapter.java:369)
at com.crystaldecisions.proxy.remoteagent.AdapterCommunicationChannel.send(AdapterCommunicationChannel.java:88)
at com.crystaldecisions.proxy.remoteagent.RemoteAgent.send(RemoteAgent.java:805)
at com.crystaldecisions.proxy.remoteagent.RemoteAgent.flushActions(RemoteAgent.java:414)
at com.crystaldecisions.proxy.remoteagent.RemoteAgent.flushSync(RemoteAgent.java:434)
at com.crystaldecisions.sdk.occa.report.application.ControllerBase.send(ControllerBase.java:203)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.sendRequest(ReportSource.java:1759)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.getPage(ReportSource.java:968)
at com.crystaldecisions.sdk.occa.report.application.AdvancedReportSource.getPage(AdvancedReportSource.java:345)
at com.businessobjects.report.web.event.PageListener.renderContentLocally(PageListener.java:379)
at com.businessobjects.report.web.event.PageListener.getPage(PageListener.java:180)
at com.businessobjects.report.web.event.PageListener.updatePage(PageListener.java:121)
at com.businessobjects.report.web.event.UpdatePageEvent.processListener(UpdatePageEvent.java:47)
at com.businessobjects.report.web.event.ViewerBroadcaster.broadCastEvent(ViewerBroadcaster.java:136)
at com.businessobjects.report.web.event.ViewerBroadcaster.broadcast(ViewerBroadcaster.java:110)
at com.businessobjects.report.web.event.EventQueue.processEvents(EventQueue.java:53)
at com.businessobjects.report.web.component.ViewerContainer.processEvents(ViewerContainer.java:1490)
at com.businessobjects.report.web.WorkflowController.doEventProcessing(WorkflowController.java:373)
at com.businessobjects.report.web.WorkflowController.doLifecycle(WorkflowController.java:275)
at com.businessobjects.report.web.WorkflowController.doAsyncLifecycle(WorkflowController.java:108)
at com.crystaldecisions.report.web.viewer.CrystalReportViewerUpdater._processHttpRequest(CrystalReportViewerUpdater.java:61)
at com.crystaldecisions.report.web.ServerControl.processHttpRequest(ServerControl.java:345)
at com.crystaldecisions.report.web.viewer.CrystalReportViewerServlet.doUpdate(CrystalReportViewerServlet.java:206)
at com.crystaldecisions.report.web.viewer.CrystalReportViewerServlet.doPost(CrystalReportViewerServlet.java:194)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1227)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:776)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:458)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:79)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:909)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862)
Caused by: com.crystaldecisions.enterprise.ocaframework.IManagedService$ManagedLogoffException: Unable to reconnect to the CMS DEV-BOBI-01.devsntg.com:6400. The session has been logged off or has expired. (FWM 01002)
at com.crystaldecisions.enterprise.ocaframework.ManagedService.invoke(ManagedService.java:315)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal._DTSRequestProxy.DoRequestBlocking(_DTSRequestProxy.java:70)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal.CECORBACommunicationAdapter.sendCORBARequest(CECORBACommunicationAdapter.java:464)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal.CECORBACommunicationAdapter.request(CECORBACommunicationAdapter.java:294)
... 49 more
[11/19/15 11:00:58:388 IST] 0000009d SystemOut O ERROR [WebContainer : 4] (WebReportLogger.java:62) - Unable to process events
com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Unable to connect to the server: DEV_BOBI_01.CrystalReports2013ReportApplicationServer. --- Unable to reconnect to the CMS DEV-BOBI-01.devsntg.com:6400. The session has been logged off or has expired. (FWM 01002)---- Error code:-2147217387 [CRSDK00000847] Error code name:connectServer
at com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException.throwReportSDKServerException(ReportSDKServerException.java:115)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal.CECORBACommunicationAdapter.request(CECORBACommunicationAdapter.java:369)
at com.crystaldecisions.proxy.remoteagent.AdapterCommunicationChannel.send(AdapterCommunicationChannel.java:88)
at com.crystaldecisions.proxy.remoteagent.RemoteAgent.send(RemoteAgent.java:805)
at com.crystaldecisions.proxy.remoteagent.RemoteAgent.flushActions(RemoteAgent.java:414)
at com.crystaldecisions.proxy.remoteagent.RemoteAgent.flushSync(RemoteAgent.java:434)
at com.crystaldecisions.sdk.occa.report.application.ControllerBase.send(ControllerBase.java:203)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.sendRequest(ReportSource.java:1759)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.getPage(ReportSource.java:968)
at com.crystaldecisions.sdk.occa.report.application.AdvancedReportSource.getPage(AdvancedReportSource.java:345)
at com.businessobjects.report.web.event.PageListener.renderContentLocally(PageListener.java:379)
at com.businessobjects.report.web.event.PageListener.getPage(PageListener.java:180)
at com.businessobjects.report.web.event.PageListener.updatePage(PageListener.java:121)
at com.businessobjects.report.web.event.UpdatePageEvent.processListener(UpdatePageEvent.java:47)
at com.businessobjects.report.web.event.ViewerBroadcaster.broadCastEvent(ViewerBroadcaster.java:136)
at com.businessobjects.report.web.event.ViewerBroadcaster.broadcast(ViewerBroadcaster.java:110)
at com.businessobjects.report.web.event.EventQueue.processEvents(EventQueue.java:53)
at com.businessobjects.report.web.component.ViewerContainer.processEvents(ViewerContainer.java:1490)
at com.businessobjects.report.web.WorkflowController.doEventProcessing(WorkflowController.java:373)
at com.businessobjects.report.web.WorkflowController.doLifecycle(WorkflowController.java:275)
at com.businessobjects.report.web.WorkflowController.doAsyncLifecycle(WorkflowController.java:108)
at com.crystaldecisions.report.web.viewer.CrystalReportViewerUpdater._processHttpRequest(CrystalReportViewerUpdater.java:61)
at com.crystaldecisions.report.web.ServerControl.processHttpRequest(ServerControl.java:345)
at com.crystaldecisions.report.web.viewer.CrystalReportViewerServlet.doUpdate(CrystalReportViewerServlet.java:206)
at com.crystaldecisions.report.web.viewer.CrystalReportViewerServlet.doPost(CrystalReportViewerServlet.java:194)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1227)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:776)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:458)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:79)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:909)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862)
Caused by: com.crystaldecisions.enterprise.ocaframework.IManagedService$ManagedLogoffException: Unable to reconnect to the CMS DEV-BOBI-01.devsntg.com:6400. The session has been logged off or has expired. (FWM 01002)
at com.crystaldecisions.enterprise.ocaframework.ManagedService.invoke(ManagedService.java:315)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal._DTSRequestProxy.DoRequestBlocking(_DTSRequestProxy.java:70)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal.CECORBACommunicationAdapter.sendCORBARequest(CECORBACommunicationAdapter.java:464)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal.CECORBACommunicationAdapter.request(CECORBACommunicationAdapter.java:294)
... 49 more
[11/19/15 11:00:58:963 IST] 0000009d SystemOut O ERROR [WebContainer : 4] (WebReportLogger.java:62) - Unable to complete lifecycle
com.businessobjects.report.web.shared.WebReportingException: The viewer could not process an event. Unable to connect to the server: DEV_BOBI_01.CrystalReports2013ReportApplicationServer. --- Unable to reconnect to the CMS DEV-BOBI-01.devsntg.com:6400. The session has been logged off or has expired. (FWM 01002) [CRSDK00000847] ---- Error code:0 [CRWEB00000119]
at com.businessobjects.report.web.shared.WebReportingException.throwWebReportingException(WebReportingException.java:71)
at com.businessobjects.report.web.component.ViewerContainer.processEvents(ViewerContainer.java:1503)
at com.businessobjects.report.web.WorkflowController.doEventProcessing(WorkflowController.java:373)
at com.businessobjects.report.web.WorkflowController.doLifecycle(WorkflowController.java:275)
at com.businessobjects.report.web.WorkflowController.doAsyncLifecycle(WorkflowController.java:108)
at com.crystaldecisions.report.web.viewer.CrystalReportViewerUpdater._processHttpRequest(CrystalReportViewerUpdater.java:61)
at com.crystaldecisions.report.web.ServerControl.processHttpRequest(ServerControl.java:345)
at com.crystaldecisions.report.web.viewer.CrystalReportViewerServlet.doUpdate(CrystalReportViewerServlet.java:206)
at com.crystaldecisions.report.web.viewer.CrystalReportViewerServlet.doPost(CrystalReportViewerServlet.java:194)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1227)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:776)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:458)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:79)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:909)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862)
Caused by: com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Unable to connect to the server: DEV_BOBI_01.CrystalReports2013ReportApplicationServer. --- Unable to reconnect to the CMS DEV-BOBI-01.devsntg.com:6400. The session has been logged off or has expired. (FWM 01002)---- Error code:-2147217387 [CRSDK00000847] Error code name:connectServer
at com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException.throwReportSDKServerException(ReportSDKServerException.java:115)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal.CECORBACommunicationAdapter.request(CECORBACommunicationAdapter.java:369)
at com.crystaldecisions.proxy.remoteagent.AdapterCommunicationChannel.send(AdapterCommunicationChannel.java:88)
at com.crystaldecisions.proxy.remoteagent.RemoteAgent.send(RemoteAgent.java:805)
at com.crystaldecisions.proxy.remoteagent.RemoteAgent.flushActions(RemoteAgent.java:414)
at com.crystaldecisions.proxy.remoteagent.RemoteAgent.flushSync(RemoteAgent.java:434)
at com.crystaldecisions.sdk.occa.report.application.ControllerBase.send(ControllerBase.java:203)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.sendRequest(ReportSource.java:1759)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.getPage(ReportSource.java:968)
at com.crystaldecisions.sdk.occa.report.application.AdvancedReportSource.getPage(AdvancedReportSource.java:345)
at com.businessobjects.report.web.event.PageListener.renderContentLocally(PageListener.java:379)
at com.businessobjects.report.web.event.PageListener.getPage(PageListener.java:180)
at com.businessobjects.report.web.event.PageListener.updatePage(PageListener.java:121)
at com.businessobjects.report.web.event.UpdatePageEvent.processListener(UpdatePageEvent.java:47)
at com.businessobjects.report.web.event.ViewerBroadcaster.broadCastEvent(ViewerBroadcaster.java:136)
at com.businessobjects.report.web.event.ViewerBroadcaster.broadcast(ViewerBroadcaster.java:110)
at com.businessobjects.report.web.event.EventQueue.processEvents(EventQueue.java:53)
at com.businessobjects.report.web.component.ViewerContainer.processEvents(ViewerContainer.java:1490)
... 33 more
Caused by: com.crystaldecisions.enterprise.ocaframework.IManagedService$ManagedLogoffException: Unable to reconnect to the CMS DEV-BOBI-01.devsntg.com:6400. The session has been logged off or has expired. (FWM 01002)
at com.crystaldecisions.enterprise.ocaframework.ManagedService.invoke(ManagedService.java:315)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal._DTSRequestProxy.DoRequestBlocking(_DTSRequestProxy.java:70)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal.CECORBACommunicationAdapter.sendCORBARequest(CECORBACommunicationAdapter.java:464)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal.CECORBACommunicationAdapter.request(CECORBACommunicationAdapter.java:294)
This is not an exception generated by logoff, instead it is generated by the viewer, as you have logged off the session and the viewer do not have a valid enterprise session to do any further action.
You need to have a valid enterprise session for the entire scope in which you would want to view report navigate pages, export etc.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Prithviraj
Yes, I agree that the viewer needs valid enterprise session for the entire scope. That's the reason the logoff code is written at the end in the jsp. Also I would like to mention that same code worked properly with BO 3.1 jars. It is only after we have migrated to BO 4.1 jars, we are facing this issue.
Is it that this piece of code be written some where else? If yes, then where?
Thanks & Regards
Gaurav.
User | Count |
---|---|
98 | |
11 | |
11 | |
10 | |
10 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.