OS: Windows Server 2008 SP2 with the following C++ libraries installed:
MS Visual C++ 2010 Redistributable - x86 9.0.30729.4184
MS Visual C++ 2010 Redistributable - x64 9.0.30729.6161
Platform: BI 4.1 SP3, not patches
I have tweaked the sample (simpleClient) processing extension code in VS 2010 to get the user name and report title and then set two specific parameters. (See attached text file for the code.) It has been compile as a 32-bit .dll, put in the <install dir>\win32_x86\ProcessExt folder, and registered in Applications>>Central Management Console in the CMC. However, after assigning the processing extension to a very simple report, I get the following error when I try to either view or schedule the report:
The viewer could not process an event. Error on Processing Extension: Fail to initialize: {0}. ---- Error code:0 [CRWEB00000119]
This is a new report and processing extension - not a migrated from an older system.
Here is the stack trace:
2014-05-02 11:01:44 com.businessobjects.report.web.shared.WebReportingException: The viewer could not process an event. Error on Processing Extension: Fail to initialize: {0}. [] ---- 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:1439)
at com.businessobjects.report.web.WorkflowController.doEventProcessing(WorkflowController.java:353)
at com.businessobjects.report.web.WorkflowController.doLifecycle(WorkflowController.java:255)
at com.businessobjects.report.web.WorkflowController.doAsyncLifecycle(WorkflowController.java:106)
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:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at com.businessobjects.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:110)
at com.businessobjects.http.servlet.internal.ServletLastFilterChainElement.service(ServletLastFilterChainElement.java:30)
at com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:46)
at com.businessobjects.bip.core.web.filter.BrowserRenderingModeFilter.doFilter(BrowserRenderingModeFilter.java:32)
at com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)
at com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)
at com.businessobjects.bip.core.web.boetrustguard.BOETrustPrepareFilter.doFilter(BOETrustPrepareFilter.java:35)
at com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)
at com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)
at com.businessobjects.bip.core.web.supportabilty.TraceLogScopeFilter.doFilter(TraceLogScopeFilter.java:38)
at com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)
at com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)
at com.businessobjects.sdk.actionfilter.WorkflowFilter.doFilter(WorkflowFilter.java:45)
at com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)
at com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)
at com.businessobjects.bip.core.web.appcontext.RequestInitFilter.doFilter(RequestInitFilter.java:26)
at com.businessobjects.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:72)
at com.businessobjects.http.servlet.internal.filter.FilterChainImpl.doFilter(FilterChainImpl.java:43)
at com.businessobjects.http.servlet.internal.BundlePathAwareServiceHandler.serviceHelper(BundlePathAwareServiceHandler.java:235)
at com.businessobjects.http.servlet.internal.BundlePathAwareServiceHandler.service(BundlePathAwareServiceHandler.java:197)
at com.businessobjects.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:248)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:220)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.businessobjects.pinger.TimeoutManagerFilter.doFilter(TimeoutManagerFilter.java:168)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:761)
Caused by:
com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Error on Processing Extension: Fail to initialize: {0}.---- Error code:-2147215357 [] Error code name:internal
at com.crystaldecisions.sdk.occa.report.lib.ReportSDKException.throwReportSDKException(ReportSDKException.java:120)
at com.crystaldecisions.sdk.occa.managedreports.ps.internal.SendRequestHelper.sendRequest(SendRequestHelper.java:141)
at com.crystaldecisions.sdk.occa.managedreports.ps.internal.CacheReportSource.sendRequest(CacheReportSource.java:1796)
at com.crystaldecisions.sdk.occa.managedreports.ps.internal.CacheReportSource.getPage(CacheReportSource.java:1283)
at com.businessobjects.report.web.event.PageListener.renderContentLocally(PageListener.java:377)
at com.businessobjects.report.web.event.PageListener.getPage(PageListener.java:178)
at com.businessobjects.report.web.event.PageListener.updatePage(PageListener.java:120)
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:1426) ... 51 more
This is telling me that the extension is not even initializing, so it's not even getting to the code that I actually modified. An XSearch on the error code and or "Processing Extension" has not found anything useful. Does anyone have any thoughts or suggestions? Also, does anyone have any processing extension code that is working in the "real word" that they would be willing to share? This is the first one I've worked on and I have a client for whom this is required functionality.
Thanks!
-Dell