Hi,
Our web app(Eclipse) is working on CRS 10 OEM, deploy on WAS 7.0027, WinServer 2003 R2.
Redeploy our web app on WinServer 2008 R2, WAS 8.007. Everything components is working fine except Crystal Report.
On trying to upgrade to the latest CRS 2011 OEM (sp9) from CRS 10 OEM, here are what have done:
- install CRS 2011 OEM SP9
- remove all old jars, replace with jars from CRS 2011 OEM(<java/lib>)
- include new crystalreportviewers from CRS 2011 OEM
- update CRConfig.xml, ClientSDKOptions.xml, crystal-tags-reportviewer.tld, web.xml
- CRS 2011 is proved to be up & green status, since we have sample JSP running
We face the following issues:
1) [java.lang.ClassNotFoundException: com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory]
java.lang.ClassNotFoundException: com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:177)
at com.businessobjects.report.web.state.ViewerState.getReportSourceClassFactory(ViewerState.java:957)
at com.businessobjects.report.web.state.ViewerState.getReportSource(ViewerState.java:907)
at com.businessobjects.report.web.state.ViewerState.isJRCReport(ViewerState.java:4229)
at com.businessobjects.report.web.component.PromptComponentManager.useFlexPromptingComponents(PromptComponentManager.java:100)
at com.businessobjects.report.web.component.PromptComponentManager.getAdvancedParamComponent(PromptComponentManager.java:66)
at com.businessobjects.report.web.component.ViewerContainer.getParamComponent(ViewerContainer.java:1221)
at com.businessobjects.report.web.component.ViewerContainer.restoreState(ViewerContainer.java:232)
at com.businessobjects.report.web.WorkflowController.loadViewState(WorkflowController.java:418)
at com.businessobjects.report.web.WorkflowController.init(WorkflowController.java:393)
at com.businessobjects.report.web.WorkflowController.doLifecycle(WorkflowController.java:252)
at com.businessobjects.report.web.WorkflowController.doLifecycle(WorkflowController.java:162)
at com.crystaldecisions.report.web.ServerControl._processHttpRequest(ServerControl.java:610)
at com.crystaldecisions.report.web.ServerControl.processHttpRequest(ServerControl.java:345)
at com.crystaldecisions.report.web.viewer.taglib.ServerControlTag.doEndTag(ServerControlTag.java:48)
at com.crystaldecisions.report.web.viewer.taglib.ReportServerControlTag.doEndTag(ReportServerControlTag.java:77)
at com.ibm._jsp._GeneratedReportShow._jspService(_GeneratedReportShow.java:147)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1230)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:205)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1071)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1385)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:194)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
at com.td.cb.common.MainRequestProcessor.processForwardConfig(MainRequestProcessor.java:313)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at com.td.cb.common.MainRequestProcessor.process(MainRequestProcessor.java:76)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at com.td.cb.common.MainServlet.process(MainServlet.java:99)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1230)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1071)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3763)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:976)
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:453)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:515)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:306)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:84)
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:1700)
[11/15/14 15:24:23:326 GMT-05:00] 00000014 SystemOut O [ERROR] com.businessobjects.report.web.shared.WebReportLogger - Unable to determine report engine type
com.businessobjects.report.web.shared.WebReportingException: Failed to create Report Source Factory.---- Error code:0 [CRSDK00000993]
at com.businessobjects.report.web.shared.WebReportingException.throwWebReportingException(WebReportingException.java:71)
at com.businessobjects.report.web.state.ViewerState.getReportSourceClassFactory(ViewerState.java:967)
at com.businessobjects.report.web.state.ViewerState.getReportSource(ViewerState.java:907)
at com.businessobjects.report.web.state.ViewerState.isJRCReport(ViewerState.java:4229)
at com.businessobjects.report.web.component.PromptComponentManager.useFlexPromptingComponents(PromptComponentManager.java:100)
at com.businessobjects.report.web.component.PromptComponentManager.getAdvancedParamComponent(PromptComponentManager.java:66)
at com.businessobjects.report.web.component.ViewerContainer.getParamComponent(ViewerContainer.java:1221)
at com.businessobjects.report.web.component.ViewerContainer.restoreState(ViewerContainer.java:232)
at com.businessobjects.report.web.WorkflowController.loadViewState(WorkflowController.java:418)
at com.businessobjects.report.web.WorkflowController.init(WorkflowController.java:393)
at com.businessobjects.report.web.WorkflowController.doLifecycle(WorkflowController.java:252)
at com.businessobjects.report.web.WorkflowController.doLifecycle(WorkflowController.java:162)
at com.crystaldecisions.report.web.ServerControl._processHttpRequest(ServerControl.java:610)
at com.crystaldecisions.report.web.ServerControl.processHttpRequest(ServerControl.java:345)
at com.crystaldecisions.report.web.viewer.taglib.ServerControlTag.doEndTag(ServerControlTag.java:48)
at com.crystaldecisions.report.web.viewer.taglib.ReportServerControlTag.doEndTag(ReportServerControlTag.java:77)
Caused by:
java.lang.ClassNotFoundException: com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:177)
at com.businessobjects.report.web.state.ViewerState.getReportSourceClassFactory(ViewerState.java:957)
... 57 more
We download lib (crjava-runtime_12.2.218) and include jrcerom.jar (with & w/o other jars). We got another error:
2) [java.lang.AbstractMethodError: com/businessobjects/sdk/erom/remoteagent/AgentFactory.createAgent(Ljava/util/Locale;Ljava/util/Locale;Ljava/lang/String;Ljava/lang/String;)Lcom/businessobjects/sdk/erom/remoteagent/Agent;]
0000001f ServletWrappe E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0014E: Uncaught service() exception root cause /en/GeneratedReportShow.jsp: com.ibm.websphere.servlet.error.ServletErrorReport: java.lang.AbstractMethodError: com/businessobjects/sdk/erom/remoteagent/AgentFactory.createAgent(Ljava/util/Locale;Ljava/util/Locale;Ljava/lang/String;Ljava/lang/String;)Lcom/businessobjects/sdk/erom/remoteagent/Agent;
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:695)
at com.ibm._jsp._GeneratedReportShow._jspService(_GeneratedReportShow.java:165)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1230)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:205)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1071)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1385)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:194)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
at com.td.cb.common.MainRequestProcessor.processForwardConfig(MainRequestProcessor.java:313)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at com.td.cb.common.MainRequestProcessor.process(MainRequestProcessor.java:76)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at com.td.cb.common.MainServlet.process(MainServlet.java:99)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1230)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1071)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3763)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:976)
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:453)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:515)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:306)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:84)
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:1700)
Caused by: java.lang.AbstractMethodError: com/businessobjects/sdk/erom/remoteagent/AgentFactory.createAgent(Ljava/util/Locale;Ljava/util/Locale;Ljava/lang/String;Ljava/lang/String;)Lcom/businessobjects/sdk/erom/remoteagent/Agent;
at com.crystaldecisions.proxy.remoteagent.RemoteAgent$InProcAgent.<init>(RemoteAgent.java:1068)
at com.crystaldecisions.proxy.remoteagent.RemoteAgent.createInProcAgent(RemoteAgent.java:1024)
at com.crystaldecisions.proxy.remoteagent.RemoteAgent.createDefaultAgent(RemoteAgent.java:994)
at com.crystaldecisions.sdk.occa.report.application.ClientDocument.initRemoteAgent(ClientDocument.java:770)
at com.crystaldecisions.sdk.occa.report.application.ClientDocument.open(ClientDocument.java:961)
at com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.open(ReportClientDocument.java:226)
at com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory.createReportSource(SourceFile:77)
at com.businessobjects.report.web.b.a.ac(SourceFile:702)
at com.businessobjects.report.web.b.a.aL(SourceFile:1266)
at com.businessobjects.report.web.a.f.do(SourceFile:122)
at com.businessobjects.report.web.a.f.a(SourceFile:90)
at com.businessobjects.report.web.a.t.n(SourceFile:1979)
at com.businessobjects.report.web.a.t.a(SourceFile:269)
at com.businessobjects.report.web.e.try(SourceFile:353)
at com.businessobjects.report.web.e.new(SourceFile:334)
at com.businessobjects.report.web.e.a(SourceFile:193)
at com.businessobjects.report.web.e.a(SourceFile:135)
at com.crystaldecisions.report.web.ServerControl.a(SourceFile:607)
at com.crystaldecisions.report.web.ServerControl.processHttpRequest(SourceFile:342)
at com.crystaldecisions.report.web.viewer.taglib.ServerControlTag.doEndTag(SourceFile:45)
at com.crystaldecisions.report.web.viewer.taglib.ReportServerControlTag.doEndTag(SourceFile:74)
at com.ibm._jsp._GeneratedReportShow._jspService(_GeneratedReportShow.java:147)
... 42 more
Our questions are:
1) Do we need jrcerom.jar ? - seem like we do, since w/o it there is a ClassNotFoundException exception.
2) Looks like it client code fail to create CR agent to talk to CRS. What is missing? What did we do wrong?
3) Could you please advise/comment on the upgrade task (CRS10 to CRS2011)