cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot Save Webi Report After Changing Dataprovider using RESTful Web Services

Former Member
0 Kudos

I want this to run via Java script eventually but I see the same error just trying out the steps with an http client. My target document (SI_ID 41960) has a single data provider accessing unv universe with SI_ID 41939. I want to point it to a unx copy of this universe with SI_ID 41943. I'm using BI 4.1 SP03.

I can retrieve the default mappings:

and repoint to the unx universe successfully

If I log off now though, I am left with a new Webi doc in ~WebIntelligence in my Favourites folder, correctly mapped to the new unx universe, which could be incredibly useful in some circumstances. Ultimately though I want to update the original and it has been suggested that I just need to save the Webi document. If I try this though I just get an internal error (the body of my PUT command below is empty).

How can I arrive at having just the original document, correctly remapped to my unx universe?

Thanks

Mike

Accepted Solutions (1)

Accepted Solutions (1)

former_member197386
Active Contributor
0 Kudos

Hello Mike,

Please, could you enable the "show error stacktrace" in the CMC (go to Servers > WACS > Properties) and copy the error?

Which version are you using?

Regards,

Anthony

Former Member
0 Kudos

Hi Anthony, I'm using BI 4.1 SP03. Stack trace below, the stand out error being UnexpectedServerException: The document's serialization version is too recent (Error: WIS 30915 Thanks and regards Mike     WSR 00999    Internal error (RaylightAction)    com.sap.webi.raylight.RaylightException: Internal error (RaylightAction) at com.sap.webi.raylight.context.Messenger.internalError(Messenger.java:83) at com.sap.webi.raylight.actions.ActionDispatcher.handleUnexpectedError(ActionDispatcher.java:132) at com.sap.webi.raylight.actions.ActionDispatcher.invoke(ActionDispatcher.java:117) at com.sap.webi.raylight.AbstractRaylightServiceDocument.updateDocument(AbstractRaylightServiceDocument.java:191) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 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:644) at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.businessobjects.sdk.actionfilter.WorkflowFilter.doFilter(WorkflowFilter.java:45) 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.valves.AccessLogValve.invoke(AccessLogValve.java:929) 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:310) 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: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 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 Caused by: com.businessobjects.sdk.core.server.CommunicationException$UnexpectedServerException: The document's serialization version is too recent (Error: WIS 30915) 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.common.CommonRequestHandler.afterProcessing(CommonRequestHandler.java:127) at com.businessobjects.sdk.core.server.internal.AbstractServer.processIt(AbstractServer.java:178) at com.businessobjects.sdk.core.server.internal.AbstractServer.process(AbstractServer.java:133) at com.businessobjects.sdk.core.server.internal.InstanceServer.process(InstanceServer.java:94) at com.businessobjects.rebean.wi.impl.services.AbstractRebeanService.sendRequest(AbstractRebeanService.java:56) at com.businessobjects.rebean.wi.impl.services.DocumentInstanceManagementServiceImpl.internalSaveDocumentToCorporate(DocumentInstanceManagementServiceImpl.java:947) at com.businessobjects.rebean.wi.impl.services.DocumentInstanceManagementServiceImpl.saveDocument(DocumentInstanceManagementServiceImpl.java:467) at com.sap.webi.raylight.context.RaylightContext.saveDocument(RaylightContext.java:511) at com.sap.webi.raylight.actions.document.UpdateDocumentAction.execute(UpdateDocumentAction.java:56) ... 53 more Caused by: com.businessobjects.sdk.core.server.ServerException: The document's serialization version is too recent (Error: WIS 30915) at com.businessobjects.sdk.core.server.common.CommonRequestHandler.newServerException(CommonRequestHandler.java:260) at com.businessobjects.sdk.core.server.common.CommonRequestHandler.createAllServerExceptions(CommonRequestHandler.java:238) at com.businessobjects.sdk.core.server.common.CommonRequestHandler.afterProcessing(CommonRequestHandler.java:121) ... 61 more

former_member197386
Active Contributor
0 Kudos

Hello,

I'm going to get more information from a colleague about:

"The document's serialization version is too recent (Error: WIS 30915)"

Don't you perform any manual patches on the server?

Best regards,

Anthony

Former Member
0 Kudos

Hi,

The server is used by a few of us and having just checked I see it's actually been patched to SP4 by a colleague. I'm sure I created the objects I'm using under SP3. I'll try with a new report created in SP4 and see if that makes any difference.

Thanks

Mike

former_member197386
Active Contributor
0 Kudos

Thanks for clarification Mike,

It seems this error came when you try to open a recent document (SP4) from an older build (SP3)... And this is not possible: SP3 server cannot open document created in SP4.

Best regards,

Anthony

Former Member
0 Kudos

Hi Anthony,

I think I have a bigger problem actually. If I log on to BI Launchpad on my server right now and create the simplest Webi report against efashion I can't save it - I get "The document's serialization version is too recent (Error: WIS 30915)"

Looks like something went wrong with the patch to SP4. Let me make some enquiries this end.

Thanks

Mike

Former Member
0 Kudos

Hi again,

OK, having tried again on a different. known to be sound, server I'm getting much better results. The RESTful command to save works and the remapping occurs in my original report.

As a final comment then, going back to where I started, there would appear to be an error in the original post 'Changing Dataproviders for a Webi Report using RESTful Web Services'. In the section Commit Changes the default mappings to the new unx universe are posted back via the command

http://localhost:6405/biprws/raylight/v1/documents/12345/dataproviders/mappings?originDataproviderId...

There is then the statement:

There is no need to explicitly save the webi report as calling the POST statement in step 6 also saves the modified report.

Not quite true. Without an explicit save you get a remapped report in your ~WebIntelligence folder in your favourites. With an explicit save the remapping occurs in the original.

Perhaps worth updating 'Changing Dataproviders for a Webi Report using RESTful Web Services' to avoid confusion?

Anyway, thanks Anthony for your help on this. Now I just need to work out how to put a Java GUI around it to allow remapping in bulk!

Many thanks

Mike

former_member197386
Active Contributor
0 Kudos

Great Mike!

Feel free to share any comments/questions!

Best regards,

Anthony

Answers (0)