cancel
Showing results for 
Search instead for 
Did you mean: 

Exception when code to logoff enterprise session is added in jsp

Former Member
0 Kudos

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)

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

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.

Former Member
0 Kudos

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.