cancel
Showing results for 
Search instead for 
Did you mean: 

RESTful SDK Error "Connection to CMS could not be restored." / WACS issue

Former Member
0 Kudos

Hi experts,

I have a problem with the RESTful SDK, WACS and the connection to the CMS. After some time of working with the RESTful SDK, I get the followin error message (translated from german, so might not be a 1:1 fit in wording to english):


Error Code: WSR 00999

Internal Error (Connection to CMS … could not be restored. The session was logged off or has expired. FWM 01002)

My program works as follows, in a BO 4.1 SP5 environment:

I have a program object, an implementation of the IProgramBase Interface that can be scheduled in the CMC/LaunchPad. It exports a list of documents (approx. 500) to PDF files sequentially and stores them on the hard disc. To export the documents to PDF, we use the RESTful SDK. The program object uses the given EnterpriseSession (via the IProgramBase interface) to create logon tokens that are then used in the requests to the REST SDK/WACS. Each individual PDF-export uses a unique logon token for it's SDK requests.

The error materializes in two ways:

  1. When the program object runs, after some time (~2 hours), the export logic suddenly gets errors from the SDK, stating that the connection to the CMS is no longer possible.
  2. The program object finishes successfully, but when it is started the next time, the SDK immediately throws errors stating that the connection to the CMS is not possible.

Note that in either way, I first fire a logon request with a token to the SDK


GET http://localhost:6405/biprws/logon/long

then retrieve parameters/prompts, fill them, and set them again. All of this is done as in the documentation. I'm no newbie to the RESTful SDK and the requests are unified across many projects and work like a charm. In the current scenario, the logon succeeds, but the next request (e.g. retrieve prompts from the document) then fails with above error message.

The only “fix” is to restart the WACS server, which is difficult in a production environment.

In both scenarios, the BO system works fine in LaunchPad or other clients.

Here's a list of exception stacktraces that appear in the Web Application Container Server (WACS) log:


ERROR 1:

Translation from german: Internal Error ("Connection to CMS FS00PGG8.R5312.ADS.FIDUCIA.DE:6400 cannot be restored. The session was logged off or has expired. (FWM 01002)

|F0CCD415F1E3497DA165781272BF8954f9d|2015 08 12 20:02:25.648|+0200|Debug|Error|<<| | |wacs_FS00PGG8.WebApplicationContainerServer| 1016| 341|http-bio-0.0.0.0-6405-exec-22| |0|0|0|0|-|-|-|-|-|-|Ck3Nls0rDUpfgUszv0xpreQ3b8d|||||||||com.sap.bip.rs.cxf.providers.exceptions.RestRuntimeExceptionMapper||Interner Fehler ("Verbindung zum CMS FS00PGG8.R5312.ADS.FIDUCIA.DE:6400 kann nicht wiederhergestellt werden. Die Sitzung wurde abgemeldet oder ist abgelaufen. (FWM 01002)")

com.sap.webi.raylight.RaylightException: Interner Fehler ("Verbindung zum CMS FS00PGG8.R5312.ADS.FIDUCIA.DE:6400 kann nicht wiederhergestellt werden. Die Sitzung wurde abgemeldet oder ist abgelaufen. (FWM 01002)")

            at com.sap.webi.raylight.context.Messenger.internalError(Messenger.java:91)

            at com.sap.webi.raylight.actions.ActionDispatcher.handleUnexpectedError(ActionDispatcher.java:142)

            at com.sap.webi.raylight.actions.ActionDispatcher.invoke(ActionDispatcher.java:122)

            at com.sap.webi.raylight.RaylightServiceDocumentParameters.getParameters(RaylightServiceDocumentParameters.java:155)

            at sun.reflect.GeneratedMethodAccessor87.invoke(Unknown Source)

            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

            at java.lang.reflect.Method.invoke(Method.java:597)

            at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)

            at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)

            at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:164)

            at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:242)

            at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:242)

            at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:242)

            at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:91)

            at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)

            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)

            at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

            at java.util.concurrent.FutureTask.run(FutureTask.java:138)

            at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)

            at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)

            at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)

            at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)

            at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:102)

            at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:464)

            at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)

            at com.sap.bip.rs.server.servlet.BIPServletController.invoke(BIPServletController.java:93)

            at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)

            at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)

            at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)

            at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)

            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

            at com.businessobjects.sdk.actionfilter.WorkflowFilter.doFilter(WorkflowFilter.java:45)

            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

            at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)

            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

            at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

            at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)

            at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)

            at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)

            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)

            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)

            at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

            at java.lang.Thread.run(Thread.java:763)

Caused by: com.businessobjects.sdk.core.server.CommunicationException$UnexpectedServerException: Verbindung zum CMS FS00PGG8.R5312.ADS.FIDUCIA.DE:6400 kann nicht wiederhergestellt werden. Die Sitzung wurde abgemeldet oder ist abgelaufen. (FWM 01002)

            at com.businessobjects.sdk.core.exception.ExceptionBuilder.make(ExceptionBuilder.java:152)

            at com.businessobjects.sdk.core.exception.ExceptionBuilder.make(ExceptionBuilder.java:109)

            at com.businessobjects.sdk.core.server.internal.session.SelectDataFromCMSCommand.execute(SelectDataFromCMSCommand.java:116)

            at com.businessobjects.sdk.core.server.internal.corba.CorbaServerImpl.doProcess(CorbaServerImpl.java:79)

            at com.businessobjects.sdk.core.server.internal.AbstractServer.processIt(AbstractServer.java:171)

            at com.businessobjects.sdk.core.server.internal.AbstractServer.process(AbstractServer.java:133)

            at com.sap.webi.raylight.util.impl.CmsRequestHelper.process(CmsRequestHelper.java:256)

            at com.sap.webi.raylight.util.impl.CmsRequestHelper.process(CmsRequestHelper.java:280)

            at com.sap.webi.raylight.util.impl.CmsRequestHelper.documentExist(CmsRequestHelper.java:86)

            at com.sap.webi.raylight.context.RaylightContext.openDocument(RaylightContext.java:490)

            at com.sap.webi.raylight.context.RaylightContext.getDocument(RaylightContext.java:427)

            at com.sap.webi.raylight.context.RaylightContext.getDocument(RaylightContext.java:391)

            at com.sap.webi.raylight.context.RaylightContext.getDocument(RaylightContext.java:125)

            at com.sap.webi.raylight.business.ParameterHelper.getWorkspace(ParameterHelper.java:88)

            at com.sap.webi.raylight.business.ParameterHelper.<init>(ParameterHelper.java:107)

            at com.sap.webi.raylight.actions.parameter.GetDocumentParametersAction.execute(GetDocumentParametersAction.java:25)

            at sun.reflect.GeneratedMethodAccessor88.invoke(Unknown Source)

            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

            at java.lang.reflect.Method.invoke(Method.java:597)

            at com.sap.webi.raylight.actions.ActionInvoker.invokeWith(ActionInvoker.java:123)

            at com.sap.webi.raylight.actions.ActionDispatcher.invoke(ActionDispatcher.java:105)

            ... 48 more

Caused by: com.crystaldecisions.sdk.exception.SDKException$OCAFramework: Verbindung zum CMS FS00PGG8.R5312.ADS.FIDUCIA.DE:6400 kann nicht wiederhergestellt werden. Die Sitzung wurde abgemeldet oder ist abgelaufen. (FWM 01002)

cause:com.crystaldecisions.enterprise.ocaframework.OCAFrameworkException$LogonFailover: Verbindung zum CMS FS00PGG8.R5312.ADS.FIDUCIA.DE:6400 kann nicht wiederhergestellt werden. Die Sitzung wurde abgemeldet oder ist abgelaufen. (FWM 01002)

cause:com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2

detail:Verbindung zum CMS FS00PGG8.R5312.ADS.FIDUCIA.DE:6400 kann nicht wiederhergestellt werden. Die Sitzung wurde abgemeldet oder ist abgelaufen. (FWM 01002) IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2

detail:Verbindung zum CMS FS00PGG8.R5312.ADS.FIDUCIA.DE:6400 kann nicht wiederhergestellt werden. Die Sitzung wurde abgemeldet oder ist abgelaufen. (FWM 01002) IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2

            at com.crystaldecisions.sdk.exception.SDKException.map(SDKException.java:142)

            at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStore.<init>(InternalInfoStore.java:176)

            at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStoreFactory.makeOCCA(InternalInfoStoreFactory.java:119)

            at com.crystaldecisions.sdk.occa.infostore.internal.InfoStore.<init>(InfoStore.java:87)

            at com.crystaldecisions.sdk.occa.infostore.internal.InfoStoreFactory.makeOCCA(InfoStoreFactory.java:62)

            at com.businessobjects.sdk.core.server.internal.session.SelectDataFromCMSCommand.execute(SelectDataFromCMSCommand.java:58)

            ... 66 more

Caused by: com.crystaldecisions.enterprise.ocaframework.OCAFrameworkException$LogonFailover: Verbindung zum CMS FS00PGG8.R5312.ADS.FIDUCIA.DE:6400 kann nicht wiederhergestellt werden. Die Sitzung wurde abgemeldet oder ist abgelaufen. (FWM 01002)

cause:com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2

detail:Verbindung zum CMS FS00PGG8.R5312.ADS.FIDUCIA.DE:6400 kann nicht wiederhergestellt werden. Die Sitzung wurde abgemeldet oder ist abgelaufen. (FWM 01002) IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2

            at com.crystaldecisions.enterprise.ocaframework.FailoverLogonService.logonWithToken(FailoverLogonService.java:293)

            at com.crystaldecisions.enterprise.ocaframework.ManagedSession.reconnectCMS(ManagedSession.java:771)

            at com.crystaldecisions.enterprise.ocaframework.ManagedSession.validateServer(ManagedSession.java:756)

            at com.crystaldecisions.enterprise.ocaframework.ManagedSession.validateStatelessService(ManagedSession.java:574)

            at com.crystaldecisions.enterprise.ocaframework.ManagedSession.newService(ManagedSession.java:983)

            at com.crystaldecisions.enterprise.ocaframework.ManagedSession.get(ManagedSession.java:278)

            at com.crystaldecisions.enterprise.ocaframework.ManagedSessions.get(ManagedSessions.java:299)

            at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getManagedService_aroundBody4(ServiceMgr.java:539)

            at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getManagedService_aroundBody5$advice(ServiceMgr.java:512)

            at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getManagedService(ServiceMgr.java:1)

            at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStore.init(InternalInfoStore.java:1442)

            at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStore.<init>(InternalInfoStore.java:172)

            ... 70 more

Caused by: com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2

            at com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuseHelper.read(oca_abuseHelper.java:106)

            at com.crystaldecisions.enterprise.ocaframework.idl.OCA.OCAs._LogonEx6Stub.LogonWithTokenEx5(_LogonEx6Stub.java:488)

            at com.crystaldecisions.enterprise.ocaframework.FailoverLogonService.logonWithToken(FailoverLogonService.java:226)

            ... 81 more

at com.sap.bip.rs.cxf.providers.exceptions.RestRuntimeExceptionMapper.toResponse(RestRuntimeExceptionMapper.java:16)

-------------------------------------------------------------------

ERROR 2:

Translation from German: Not found (RWS 00005)

|F0CCD415F1E3497DA165781272BF8954f9e|2015 08 12 20:02:25.679|+0200|Debug|Error|<<| | |wacs_FS00PGG8.WebApplicationContainerServer| 1016| 337|http-bio-0.0.0.0-6405-exec-18| |0|0|0|0|-|-|-|-|-|-|Ck3Nls0rDUpfgUszv0xpreQ3b8f|||||||||com.sap.bip.rs.cxf.providers.exceptions.RestRuntimeExceptionMapper||Nicht gefunden (RWS 00005)

com.sap.bip.rs.exceptions.NotFoundException

            at com.sap.bip.rs.RootResource.ResolveRootResource(RootResource.java:64)

            at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)

            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

            at java.lang.reflect.Method.invoke(Method.java:597)

            at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)

            at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)

            at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:164)

            at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:91)

            at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)

            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)

            at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

            at java.util.concurrent.FutureTask.run(FutureTask.java:138)

            at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)

            at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)

            at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)

            at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)

            at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:102)

            at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:464)

            at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)

            at com.sap.bip.rs.server.servlet.BIPServletController.invoke(BIPServletController.java:93)

            at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)

            at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)

            at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doDelete(AbstractHTTPServlet.java:114)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)

            at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)

            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

            at com.businessobjects.sdk.actionfilter.WorkflowFilter.doFilter(WorkflowFilter.java:45)

            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

            at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)

            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

            at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

            at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)

            at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)

            at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)

            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)

            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)

            at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

            at java.lang.Thread.run(Thread.java:763)

at com.sap.bip.rs.log.Log.log(Log.java:35)

-------------------------------------------------------------------

ERROR 3:

|F0CCD415F1E3497DA165781272BF8954fa1|2015 08 12 20:03:04.024|+0200|Error| |==|E| |wacs_FS00PGG8.WebApplicationContainerServer| 1016| 314|com.sap.bip.rs.nmemo.NMemo Cleanup Thread| ||||||||||||||||||||com.crystaldecisions.enterprise.ocaframework.FailoverLogonService||logonWithToken(): Failed to relogon, aps=FS00PGG8.R5312.ADS.FIDUCIA.DE:6400,token={3&2=19111,U3&p=42228.7514490278,Y7&2v=FS00PGG8.R5312.ADS.FIDUCIA.DE:6400,UP&68,UP&S9=14315,U3&qe=100,U3&vz=AdbSIb2IuU_o7FB7nPNxUkWQoI1ECuYNvIGArxg2SCc,UP}, errorCode=10503

com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2

            at com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuseHelper.read(oca_abuseHelper.java:106)

            at com.crystaldecisions.enterprise.ocaframework.idl.OCA.OCAs._LogonEx6Stub.SessionLogonWithToken(_LogonEx6Stub.java:218)

            at com.crystaldecisions.enterprise.ocaframework.FailoverLogonService.logonWithToken(FailoverLogonService.java:223)

            at com.crystaldecisions.enterprise.ocaframework.ManagedSession.reconnectCMS(ManagedSession.java:771)

            at com.crystaldecisions.enterprise.ocaframework.ManagedSession.validateServer(ManagedSession.java:756)

            at com.crystaldecisions.enterprise.ocaframework.ManagedSession.validateStatelessService(ManagedSession.java:574)

            at com.crystaldecisions.enterprise.ocaframework.ManagedSession.validate(ManagedSession.java:544)

            at com.crystaldecisions.enterprise.ocaframework.ManagedService.invoke(ManagedService.java:491)

            at com.crystaldecisions.sdk.occa.security.internal._SessionBatchEx3Proxy.ComponentLogoffEx(_SessionBatchEx3Proxy.java:184)

            at com.crystaldecisions.sdk.occa.security.internal.SecuritySession.logoff(SecuritySession.java:558)

            at com.crystaldecisions.sdk.framework.internal.EnterpriseSession.logoffComponent(EnterpriseSession.java:408)

            at com.sap.bip.rs.session.SessionInternal$2.cleanup(SessionInternal.java:86)

            at com.sap.bip.rs.session.SessionInternal$2.cleanup(SessionInternal.java:83)

            at com.sap.bip.rs.nmemo.NMemo$2.cleanup(NMemo.java:75)

            at com.sap.bip.rs.nmemo.NMemo$2.cleanup(NMemo.java:72)

            at com.sap.bip.rs.nmemo.impl.NMemoWrap.cleanup(NMemoWrap.java:52)

            at com.sap.bip.rs.nmemo.NMemo.cleanupNMemoWrap(NMemo.java:170)

            at com.sap.bip.rs.nmemo.NMemo.cleanup(NMemo.java:154)

            at com.sap.bip.rs.nmemo.impl.NMemoCleanupThread$1.run(NMemoCleanupThread.java:38)

            at java.lang.Thread.run(Thread.java:763)

-------------------------------------------------------------------

ERROR 4: "Internal Error"

|F0CCD415F1E3497DA165781272BF8954fa0|2015 08 12 20:02:30.702|+0200|Debug|Error|<<| | |wacs_FS00PGG8.WebApplicationContainerServer| 1016| 337|http-bio-0.0.0.0-6405-exec-18| |0|0|0|0|-|-|-|-|-|-|Ck3Nls0rDUpfgUszv0xpreQ3b90|||||||||com.sap.bip.rs.cxf.providers.exceptions.RestRuntimeExceptionMapper||Interner Fehler ("while trying to invoke the method com.businessobjects.sdk.core.server.IServer.getServerContext() of a null object returned from com.businessobjects.rebean.wi.impl.services.DocumentInstanceManagementServiceImpl.getServer(com.businessobjects.sdk.core.context.IContext, com.businessobjects.rebean.wi.model.engine.IDocumentInstance)")

com.sap.webi.raylight.RaylightException: Interner Fehler ("while trying to invoke the method com.businessobjects.sdk.core.server.IServer.getServerContext() of a null object returned from com.businessobjects.rebean.wi.impl.services.DocumentInstanceManagementServiceImpl.getServer(com.businessobjects.sdk.core.context.IContext, com.businessobjects.rebean.wi.model.engine.IDocumentInstance)")

            at com.sap.webi.raylight.context.Messenger.internalError(Messenger.java:91)

            at com.sap.webi.raylight.actions.ActionDispatcher.handleUnexpectedError(ActionDispatcher.java:142)

            at com.sap.webi.raylight.actions.ActionDispatcher.invoke(ActionDispatcher.java:122)

            at com.sap.webi.raylight.AbstractRaylightServiceDocument.updateDocument(AbstractRaylightServiceDocument.java:191)

            at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)

            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

            at java.lang.reflect.Method.invoke(Method.java:597)

            at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)

            at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)

            at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:164)

            at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:242)

            at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:242)

            at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:91)

            at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)

            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)

            at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

            at java.util.concurrent.FutureTask.run(FutureTask.java:138)

            at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)

            at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)

            at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)

            at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)

            at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:102)

            at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:464)

            at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)

            at com.sap.bip.rs.server.servlet.BIPServletController.invoke(BIPServletController.java:93)

            at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)

            at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)

            at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPut(AbstractHTTPServlet.java:120)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:649)

            at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)

            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

            at com.businessobjects.sdk.actionfilter.WorkflowFilter.doFilter(WorkflowFilter.java:45)

            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

            at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)

            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

            at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

            at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)

            at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)

            at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)

            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)

            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)

            at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

            at java.lang.Thread.run(Thread.java:763)

Caused by: java.lang.NullPointerException: while trying to invoke the method com.businessobjects.sdk.core.server.IServer.getServerContext() of a null object returned from com.businessobjects.rebean.wi.impl.services.DocumentInstanceManagementServiceImpl.getServer(com.businessobjects.sdk.core.context.IContext, com.businessobjects.rebean.wi.model.engine.IDocumentInstance)

            at com.businessobjects.rebean.wi.impl.services.DocumentInstanceManagementServiceImpl.closeDocument(DocumentInstanceManagementServiceImpl.java:277)

            at com.sap.webi.raylight.context.RaylightContext.closeDocument(RaylightContext.java:548)

            at com.sap.webi.raylight.actions.document.UpdateDocumentAction.execute(UpdateDocumentAction.java:48)

            at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)

            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

            at java.lang.reflect.Method.invoke(Method.java:597)

            at com.sap.webi.raylight.actions.ActionInvoker.invokeWith(ActionInvoker.java:123)

            at com.sap.webi.raylight.actions.ActionDispatcher.invoke(ActionDispatcher.java:105)

            ... 47 more

Any suggestions what I can do to resolve this issue? What I did in the WACS configuration is to increase XMX to 4 Gigs and PermGen to 512MB. I also removed the BOE service from the WACS. The rest is pretty much standard WACS config.

Any help is greatly appreciated!

Regards,

Fabio

Accepted Solutions (1)

Accepted Solutions (1)

daniel_paulsen
Active Contributor
0 Kudos

Hi Fabio,

Logon is an 'expensive' process.  Do you really need to log on 500 times to run 500 reports?  This can cause an undue load,  That being said, there's a known issue on SP05 with similar errors that is fixed in SP05 Patch 7.   My first suggestion is to apply the patch and see if that stabilizes your application.

Dan

Former Member
0 Kudos

Hi Dan,

thanks for your reply. We're installing SP6 Patch 01 next week to see if that will resolve the error.

About the individual logons: I know this is not ideal and also unnecessary, however we had other issues that were stabilized by this.

Fabio

Former Member
0 Kudos

Sadly, this does not resolve the issue. We have upgraded a "sandbox" system to 4.1 SP6 Patch 1, but the behaviour is the same.

Strangely on this system, the error message is a different one (before and after the update). Nevertheless, I have to restart the WACS server.

{"error_code":"WSR 00402","message":"Ressource not available: \"Cannot cast class com.businessobjects.corba.generic.container.proxy.internal.WorkSessionProxyImpl to class com.businessobjects.webi.proxies.WebiWorkSessionProxy\""}

daniel_paulsen
Active Contributor
0 Kudos

Is it still failing when retrieving prompts right after logon?  How long does it take before the error is thrown (ie how many jobs have run successfully)?  I'm looking for some magic number that might match a limit setting on the webi server (ie max concurrent jobs etc)

How many webi servers do you have on the system.  My guess is that the error is coming from a failover attempt. 

If you do not restart WACS, can you successfully log on and retrieve the prompt information manually through a rest client or separate app outside of your program object?

former_member197386
Active Contributor
0 Kudos

Hi Fabio,

When you get a such error, please activate "Show Error Stack" and send us the full stack trace for investigation.

Best regards,

Anthony

Former Member
0 Kudos

Hi Experts,

I am running to the same issue where the error is different.  This is what it errors out:

<error_code>WSR 00999</error_code>    <message>Initialization failure</message></error>

This error occurs intermittently and I am not able to understand it happens sometimes and not all the time.  It is hard for me to figure out what needs to be done to correct this error.  I am using RESTful API to check whether the document has prompts or not.  Version of BO is 4.1 SP6.

Thank you.

daniel_paulsen
Active Contributor
0 Kudos

I believe this is an issue with your logon token expiring.

How are you creating the X-SAP-LogonToken?   

  • /logon/long
  • /logon/token  (if so, is it a token or serialized session)
  • /logon/adsso

If Raylight is used for getting prompt info, are you also using the Java rebean SDK or OpenDocument?

Did this work prior to SP06?

How many minutes, roughly, from when you log on, to when you get the error?

Dan

Former Member
0 Kudos

I am using Report Engine SDK to get the token and create it to use in RESTful as follows:

// Report Engine SDK to logon and create a session

enterpriseSession = sessionMgr.logon();

createdToken = enterpriseSession.getLogonTokenMgr().createLogonToken();

// RESTful

token = http.post(http://host:port/biprws/logon/token + createdToken);

checkForPrompts(http://host.port/biprws/raylight/v1/documents/documentId/parameters + token);

This is where it fails with that error.

I logon and logoff in both RESTful and Report Engine SDK for every report I process.

daniel_paulsen
Active Contributor
0 Kudos

What values are you passing in createLogonToken("", numMin, numLogons) ?

Are you batch processing reports and possibly exceeding the number of times the token is valid for?

I'm sure you've probably checked this, but I thought I would ask anyways.

Additionally, when you call enterpriseSession.logoff(); do you do this after you have finished retrieving parameters and you are completely finished with processing the document or can the logoff be called before processing is finished and the token is being relied on for re-logon?

I ran a quick test:

  1. logon using SDK
  2. create logontoken
  3. log off enterpriseSession
  4. create X-SAP-LogonToken using /logon/token.

If I skip step 3, everything works fine. 

If I execute step 3, step 4 fails.   It appears that REST is using the token as if it were a WCAToken, which should not be the case.  It should be available to re-logon.

is it possible that steps 1-4 could be happening within your app?

Dan

Former Member
0 Kudos

Hi Dan,

I pass in 360 = 5 hours to createLogonToken(). I am batch processing but only one at the time and logon/logoff in both RESTful and EnterpriseSession after finish processing a report.  My sequence is as follow:

1) logon using SDK

2) create logontoken

3) get token from step 2 by RESTful

4) check if the document/report has prompts using RESTful with token from 3.  This is where the error occurs.  However, I logoff even an error occurs in RESTful as well as Enterprise.

Hope I am clear on this explanation.

Thank you.

daniel_paulsen
Active Contributor
0 Kudos

I have a theory that the session is being torn down before you are finished with it and when this happens, the Restful Web service cannot use the logonToken for failover when this happens.

Can you try a test for me to see if it resolves the issue?

Simply store the enterpriseSession in the web application's Session, object.  This should keep it alive until the session times out (usually 20 min) or you explicitly log off.  If my guess is right, this will resolve the problem.

Dan

Former Member
0 Kudos

In my debugger, when I finish processing the entire document from the logon to logoff, I check the session in CMC and see that it clears out.  This logon/logoff works which clears out the session for the next logon.  I am using the same credential for each thread that processes the document.  Not sure if each logon creates a separate token (uniquely for that thread).  I am baffled about this BO error and have no solution for it.

Recently, I am encountering many errors such as getPages API (ERR_WIS_30270) and processDPCommandsX API.  SAP site has no error descriptions and where to troubleshoot.  Google these errors seem to be very generic and have no solutions either.

daniel_paulsen
Active Contributor
0 Kudos

If you still encounter the "Initialization Failure" then a stack trace could help.

In the properties for the WACS server, select the checkbox "Show Error Stack".  This should send the stack trace back with the response.  you can attach it here.


For the WIS_30270 and processDPCommandsEx errors, yes they are typically generic with the real details in the trace logs and the "caused by.." in the stack trace.  Typically to troubleshoot those, both the stack trace and full trace logs are required, which involves some deeper troubleshooting that would be difficult on the forums here.  For those errors, it may be easier to create a case with Support.

Dan

Former Member
0 Kudos

Hi Dan,

I put the errors in the file to attach to this post.  Unfortunately, only one error has stack trace and others do not have.  Another question I have is if a thread:

1) logon

2) creates a token for 5 hours

3) use that token to do RESTful operations

Should it be validate until it is logoff?

Another thread uses the same credential to do the same thing as above, will they have any conflict in session?

Thank you.

Former Member
0 Kudos

Hi,

Were you able to find any resolution or root cause for this. We are also getting the same error message at the same step trying to get prompts using RESTful API:-

WSR 00999 Initialization failure

Former Member
0 Kudos

Hi Dan,

I am using enterpriseSession.getLogonTokenMgr().createLogonToken("", 360, 1) in SDK and using it in RESTful to get a X-Sap-Logontoken.  I logoff the X-Sap-Logontoken enterpriseSession logonToken after use.

Thank you,

-Quoc

daniel_paulsen
Active Contributor
0 Kudos

Have you tested my previous suggestion to store the enterpriseSession in session?  I suspect that the enterpriseSession is not maintained on the Web Server and is therefore torn down by the CMS (as it cannot ping the enterpriseSession to keep it alive) which in turn invalidates the X-SAP-LogonToken.

Dan

Answers (0)