on 12-07-2015 11:28 AM
Hello,
During the migration process from BOXI3 to BI4, I need to migrate
around100,000 documents, from a .unv universe to a .unx universe.
I wrote a java program that uses the Restful.
I applied the methods described in http://scn.sap.com/docs/DOC-45986
andin the document "sbo41sp5_webi_restws_dg_en.pdf"
My program works correctly with a changing of data provider from ".unx"
universe to ".unx" universe. In this configuration, I have no problems.
But if I use this program with a .unv like source, it does'nt work.
I note that the source change of a .unv to a .unx is a success, if
doesn't have prompts with lists of values.
If exists a prompt with required list of value (or optional), the
sourcechange systematically fails with an error type:
(Note : I have translated the error message because the original is in
french)
<error>
<error_code>WSR 00101</error_code>
<message>The modification operation of the source failed. Please check
the relevance of mappings and try again </ message>
<stack_trace> com.sap.webi.raylight.RaylightException. The 'change
operation of the source failed. Please check the relevance of mappings
and try again.
at
com.sap.webi.raylight.context.Messenger.createException(Messenger.java:59)
at
com.sap.webi.raylight.actions.datasources.changesource.UpdateMappingsAction.tryChangesourceOrGetNeededParameters(UpdateMappingsAction.java:321)
at
com.sap.webi.raylight.actions.datasources.changesource.UpdateMappingsAction.execute(UpdateMappingsAction.java:157)
at sun.reflect.GeneratedMethodAccessor366.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)
at
com.sap.webi.raylight.RaylightServiceChangesource.updateMappings(RaylightServiceChangesource.java:132)
at sun.reflect.GeneratedMethodAccessor365.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: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.doPost(AbstractHTTPServlet.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
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)
</stack_trace>
</error>
I used this restfull call sequence
1/ Reading dataproviders a document
For each document, we search its data provider via a GET on url
<webiUrl>
/ documents / ID_document / dataproviders
Sample :
URL - documents/56884/dataproviders
Restful response :
<?xml version="1.0" encoding="UTF-8"
standalone="yes"?>
<dataproviders>
<dataprovider>
<id>DP0</id>
<name>Bandeau</name>
<dataSourceId>53815</dataSourceId>
<dataSourceType>unv</dataSourceType>
<updated>2015-11-25T11:34:05.000+01:00</updated>
</dataprovider>
</dataproviders>
2/ Get the default mappings for changing to a different universe
"GET" on URL :
<webiUrl>/documents/ID_Document/dataproviders/mappings?originDataproviderIds=Id_DataProvider&targetDatasourceId=ID_univers_source
Sample :
<webiUrl>/documents/56884/dataproviders/mappings?originDataproviderIds=DP0&targetDatasourceId=54469
The data source 54469 is a .unx universe.
Restful response :
<?xml version="1.0" encoding="UTF-8"
standalone="yes"?>
<<mappings>
<content>
<mapping status="Ok">
<source>
<id>DS0.DO1278</id>
</source>
<target>
<id>OBJ_4728</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO127d</id>
</source>
<target>
<id>OBJ_4733</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO1280</id>
</source>
<target>
<id>OBJ_4736</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO128e</id>
</source>
<target>
<id>OBJ_4750</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO128f</id>
</source>
<target>
<id>OBJ_4751</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO1711</id>
</source>
<target>
<id>OBJ_5905</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO1712</id>
</source>
<target>
<id>OBJ_5906</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO1713</id>
</source>
<target>
<id>OBJ_5907</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO24f</id>
</source>
<target>
<id>OBJ_591</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO250</id>
</source>
<target>
<id>OBJ_592</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO256</id>
</source>
<target>
<id>OBJ_598</id>
</target>
</mapping>
<mapping status="Ambiguous">
<source>
<id>DS0.DO25eb</id>
</source>
<target>
<id>OBJ_9709</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO267f</id>
</source>
<target>
<id>OBJ_9855</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO27f</id>
</source>
<target>
<id>OBJ_639</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO286</id>
</source>
<target>
<id>OBJ_646</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO28a</id>
</source>
<target>
<id>OBJ_650</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO28c</id>
</source>
<target>
<id>OBJ_652</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO2a48</id>
</source>
<target>
<id>OBJ_10824</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO2a4b</id>
</source>
<target>
<id>OBJ_10827</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO3598</id>
</source>
<target>
<id>OBJ_13720</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO374b</id>
</source>
<target>
<id>OBJ_14155</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO681</id>
</source>
<target>
<id>OBJ_1665</id>
</target>
</mapping>
</content>
</mappings>
3/ Commit Changes
If I submit the default mappping with "POST" on the url :
<webiurl>/documents/56884/dataproviders/mappings?originDataproviderIds=DP0&targetDatasourceId=54469
and the previous restful response in the payload, I obtains the
following
error :
<error>
<error_code>WSR 00101</error_code>
<message>The modification operation of the source failed. Please check
the relevance of mappings and try again </ message>
<stack_trace> com.sap.webi.raylight.RaylightException. The 'change
operation of the source failed. Please check the relevance of mappings
and try again.
at
com.sap.webi.raylight.context.Messenger.createException(Messenger.java:59)
at
com.sap.webi.raylight.actions.datasources.changesource.UpdateMappingsAction.tryChangesourceOrGetNeededParameters(UpdateMappingsAction.java:321)
at
com.sap.webi.raylight.actions.datasources.changesource.UpdateMappingsAction.execute(UpdateMappingsAction.java:157)
at sun.reflect.GeneratedMethodAccessor366.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)
at
com.sap.webi.raylight.RaylightServiceChangesource.updateMappings(RaylightServiceChangesource.java:132)
at sun.reflect.GeneratedMethodAccessor365.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: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.doPost(AbstractHTTPServlet.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
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)
</stack_trace>
</error>
Test update
-----------
The document contains three prompts based on lists of values, this
prompts are not mandatory.
If I change for a constrained list of value, I may have a different
error
code :
<error>
<error_code>WSR 00102</error_code>
<message>Le paramètre doté de l'identifiant "3" est obligatoire et
n'accepte donc aucune valeur de réponse vide.</message>
<stack_trace>com.sap.webi.raylight.RaylightException: Le paramètre
doté de l'identifiant "3" est obligatoire et n'accepte donc aucune
valeur
de réponse vide.
at
com.sap.webi.raylight.context.Messenger.createException(Messenger.java:59)
at
com.sap.webi.raylight.business.ParameterHelper.fillAnswer(ParameterHelper.java:966)
at
com.sap.webi.raylight.actions.datasources.changesource.UpdateMappingsAction.insertAnswer(UpdateMappingsAction.java:296)
at
com.sap.webi.raylight.actions.datasources.changesource.UpdateMappingsAction.getAnswers(UpdateMappingsAction.java:267)
at
com.sap.webi.raylight.actions.datasources.changesource.UpdateMappingsAction.execute(UpdateMappingsAction.java:156)
at sun.reflect.GeneratedMethodAccessor366.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)
at
com.sap.webi.raylight.RaylightServiceChangesource.updateMappings(RaylightServiceChangesource.java:132)
at sun.reflect.GeneratedMethodAccessor365.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: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.doPost(AbstractHTTPServlet.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
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)
</stack_trace>
</error>
I send the payload [POST]
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
<content>
<mapping status="Ok">
<source>
<id>DS0.DO1278</id>
</source>
<target>
<id>OBJ_4728</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO127d</id>
</source>
<target>
<id>OBJ_4733</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO1280</id>
</source>
<target>
<id>OBJ_4736</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO128e</id>
</source>
<target>
<id>OBJ_4750</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO128f</id>
</source>
<target>
<id>OBJ_4751</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO1711</id>
</source>
<target>
<id>OBJ_5905</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO1712</id>
</source>
<target>
<id>OBJ_5906</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO1713</id>
</source>
<target>
<id>OBJ_5907</id>
</target>
</mapping>
<mapping status="Ambiguous">
<source>
<id>DS0.DO25eb</id>
</source>
<target>
<id>OBJ_9707</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO267f</id>
</source>
<target>
<id>OBJ_9855</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO681</id>
</source>
<target>
<id>OBJ_1665</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO856</id>
</source>
<target>
<id>OBJ_2134</id>
</target>
</mapping>
<mapping status="Ambiguous">
<source>
<id>DS0.DO857</id>
</source>
<target>
<id>OBJ_2135</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO858</id>
</source>
<target>
<id>OBJ_2136</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO859</id>
</source>
<target>
<id>OBJ_2137</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO85a</id>
</source>
<target>
<id>OBJ_2138</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO863</id>
</source>
<target>
<id>OBJ_2147</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO865</id>
</source>
<target>
<id>OBJ_2149</id>
</target>
</mapping>
</content>
<parameters>
<parameter dpId="DP2" type="context" optional="false">
<id>3</id>
<technicalName>cBandeau</technicalName>
<name>Select a context</name>
<answer type="Text" constrained="true">
<info cardinality="Single">
<lov searchable="true" refreshable="true"
partial="false" hierarchical="false">
<values>
<value id="CTX_221">1 Analyse sur les
situations de paie</value>
<value id="CTX_217">2 Analyse sur les
situations historiques à date de sortie</value>
<value id="CTX_218">3 Analyse sur toutes
lessituations historiques</value>
<value id="CTX_219">4 Analyse sur toutes
lespériodes d'emploi</value>
</values>
</lov>
</info>
<values><value>1 Analyse sur les situations de
paie</value></values></answer>
</parameter>
</parameters>
</mappings>
In this case, I send a default value for parameter "3" ->
<values><value>1 Analyse sur les situations de paie</value></values>,
but
the source change process fails.
I think there is a problem with the method of restfull Service to
changesource with documents based on .unv universe. More specifically
with
lists of values.
Code that i used to reproduce :
public class TestProcessor {
public static void main(String[] args) {
try {
WebserviceRequest webservice = new WebserviceRequest();
webservice.setUserWebservice("administrator");
webservice.setPasswordWebservice("xxxx");
webservice.setHostWebservice("hostbo");
webservice.setPortWebservice("6405");
webservice.logon();
//Document Id
String idDoc = "422151";
//target source, .unx universe
String idSource = "406759";
String urlDataProvider = "documents/" + idDoc + "/dataproviders";
Response responseDataProvider =
webservice.raylightRequest(urlDataProvider, HttpMethod.GET,
MediaType.APPLICATION_XML);
System.out.println("---- Get data provider ----");
System.out.println(responseDataProvider.getContent());
if (responseDataProvider.getCode() == 200) {
SAXBuilder sxb = new SAXBuilder();
Document domDataProvider = null;
InputStream stream = new
ByteArrayInputStream(responseDataProvider.getContent().getBytes("UTF8"));
domDataProvider = sxb.build(stream);
Element rootDataProviders = domDataProvider.getRootElement();
List<Element> dataProviderList =
rootDataProviders.getChildren("dataprovider");
String dpName = dataProviderList.get(0).getChild("id").getText();
// I tried 2 urls, in all cases, the call f restfull fails
String urlChangeSource = "documents/" + idDoc +
"/dataproviders/mappings?targetDatasourceId=" + idSource;
// String urlChangeSource =
"documents/421184/dataproviders/mappings?originDataproviderIds=" +
dpName
+ "&targetDatasourceId=406759";
Response responseGetMapping =
webservice.raylightRequest(urlChangeSource, HttpMethod.GET,
MediaType.APPLICATION_XML);
System.out.println("---- Get default mapping ----");
System.out.println(responseGetMapping.getCode());
System.out.println(responseGetMapping.getContent());
Response responseCommitMapping =
webservice.raylightRequest(urlChangeSource, HttpMethod.POST,
MediaType.APPLICATION_XML, MediaType.APPLICATION_XML,
responseGetMapping.getContent());
System.out.println("---- Commit Changes ----");
System.out.println(responseCommitMapping.getCode());
System.out.println(responseCommitMapping.getContent());
webservice.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
Screen Result :
---- Get data provider ----
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<dataproviders>
<dataprovider>
<id>DP0</id>
<name>Bandeau</name>
<dataSourceId>387259</dataSourceId>
<dataSourceType>unv</dataSourceType>
<updated>2015-11-30T12:20:38.000+01:00</updated>
</dataprovider>
</dataproviders>
---- Get default mapping ----
200
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<mappings>
<content>
<mapping status="Ok">
<source>
<id>DS0.DO1278</id>
</source>
<target>
<id>OBJ_4728</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO127d</id>
</source>
<target>
<id>OBJ_4733</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO1280</id>
</source>
<target>
<id>OBJ_4736</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO128e</id>
</source>
<target>
<id>OBJ_4750</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO128f</id>
</source>
<target>
<id>OBJ_4751</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO1711</id>
</source>
<target>
<id>OBJ_5905</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO1712</id>
</source>
<target>
<id>OBJ_5906</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO1713</id>
</source>
<target>
<id>OBJ_5907</id>
</target>
</mapping>
<mapping status="Ambiguous">
<source>
<id>DS0.DO25eb</id>
</source>
<target>
<id>OBJ_9707</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO267f</id>
</source>
<target>
<id>OBJ_9855</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO2a48</id>
</source>
<target>
<id>OBJ_10824</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO2a4b</id>
</source>
<target>
<id>OBJ_10827</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO374b</id>
</source>
<target>
<id>OBJ_14155</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO681</id>
</source>
<target>
<id>OBJ_1665</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO856</id>
</source>
<target>
<id>OBJ_2134</id>
</target>
</mapping>
<mapping status="Ambiguous">
<source>
<id>DS0.DO857</id>
</source>
<target>
<id>OBJ_2135</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO858</id>
</source>
<target>
<id>OBJ_2136</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO859</id>
</source>
<target>
<id>OBJ_2137</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO85a</id>
</source>
<target>
<id>OBJ_2138</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO863</id>
</source>
<target>
<id>OBJ_2147</id>
</target>
</mapping>
<mapping status="Ok">
<source>
<id>DS0.DO865</id>
</source>
<target>
<id>OBJ_2149</id>
</target>
</mapping>
</content>
</mappings>
---- Commit Changes ----
400
<error>
<error_code>WSR 00101</error_code>
<message>L''opération de modification de la source a échoué.
Veuillez
vérifier la pertinence des mappages puis réessayez.</message>
<stack_trace>com.sap.webi.raylight.RaylightException: L''opération
de
modification de la source a échoué. Veuillez vérifier la pertinence des
mappages puis réessayez.
at
com.sap.webi.raylight.context.Messenger.createException(Messenger.java:59)
at
com.sap.webi.raylight.actions.datasources.changesource.UpdateMappingsAction.tryChangesourceOrGetNeededParameters(UpdateMappingsAction.java:321)
at
com.sap.webi.raylight.actions.datasources.changesource.UpdateMappingsAction.execute(UpdateMappingsAction.java:157)
at sun.reflect.GeneratedMethodAccessor366.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)
at
com.sap.webi.raylight.RaylightServiceChangesource.updateMappings(RaylightServiceChangesource.java:132)
at sun.reflect.GeneratedMethodAccessor365.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: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.doPost(AbstractHTTPServlet.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
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)
</stack_trace>
</error>
Thank you for your help,
Asma
Hi all
Just to put some light on the change source action:
Generally when you get this kind of message “The modification operation of the source failed. Please check the relevance of mappings and try again“ it means that the change source operation cannot be performed with the given mappings and it has to be changed.
Starting with SP6 you may need to use strategies in order to (re)define the matching policy between data source objects. Prior to SP6 you need to change manually your mappings
Best regards,
Bogdan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
hello Asma,
Going back on your first post, could you please elaborate more on the "parameters" stuff, because I'd prefer being sure you'll give the answers in a right way?
For example, on your point step 3., you wrote something like:
...
<value>
<value>1 Analyse sur les situations de paie</value>
</values>
</answer>
</parameter>
</parameters>
May you try again with:
...
<value>
<value id="CTX_221">1 Analyse sur les situations de paie</value>
</values>
</answer>
</parameter>
</parameters>
?
(which I simply get from the LOV)
Thanks and regards,
eric
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Eric,
I add an ID in my response, and i have the same error :
<error>
<error_code>WSR 00101</error_code>
<message>L''opération de modification de la source a échoué. Veuillez vérifier la pertinence des mappages puis réessayez.</message>
<stack_trace>com.sap.webi.raylight.RaylightException: L''opération de modification de la source a échoué. Veuillez vérifier la pertinence des mappages puis réessayez.
at com.sap.webi.raylight.context.Messenger.createException(Messenger.java:59)
I think that this is not a problem specific to the list of values. I tried with other documents with just a text-prompted, optional, and I get the same error.
The source change works fine if the document not have prompts.
Thanks.
Regards,
Pascal
hi Pascal,
Without even talking about source changing, do you succeed in refreshing the original document with the parameters you post in the "mappings"?
I mean, does [PUT] .../documents/{originalDocId}/parameters
with the request body:
<parameters>
<parameter>
<id>3</id>
<answer>
<values>
<value id="CTX_221">1 Analyse sur les situations de paie</value>
</values>
</answer>
</parameter>
</parameters>
... leads to successful refresh?
eric
Hi Eric,
Yes, the refresh works
I submited these parameters :
<parameters><parameter dpId="DP0" type="prompt" optional="true">
<id>0</id>
<technicalName>Saisir une ou plusieurs valeurs pour C Etablissement St. Jur.:</technicalName>
<name>Saisir une ou plusieurs valeurs pour C Etablissement St. Jur.:</name>
<answer type="Text" constrained="false">
<info cardinality="Multiple" />
</answer>
</parameter><parameter dpId="DP0" type="prompt" optional="true">
<id>1</id>
<technicalName>Saisir une ou plusieurs valeurs pour Code type collaboration:</technicalName>
<name>Saisir une ou plusieurs valeurs pour Code type collaboration:</name>
<answer type="Text" constrained="false">
<info cardinality="Multiple">
<lov searchable="true" refreshable="true" partial="false" hierarchical="false">
<id>UNIVERSELOV_DS0.DO267f</id>
<updated>2015-12-09T11:10:39.000+01:00</updated>
<values>
<value>STA</value>
<value>PRE</value>
<value>INT</value>
</values>
<columns mappingId="0">
<column type="String" id="0">Code type collaboration </column>
</columns>
</lov>
</info>
<values><value id="1">SAL</value></values></answer>
</parameter><parameter dpId="DP0" type="prompt" optional="true">
<id>2</id>
<technicalName>Saisir une ou plusieurs valeurs pour L Type Contrat:</technicalName>
<name>Saisir une ou plusieurs valeurs pour L Type Contrat:</name>
<answer type="Text" constrained="false">
<info cardinality="Multiple">
<lov searchable="true" refreshable="true" partial="false" hierarchical="false">
<id>UNIVERSELOV_DS0.DO681</id>
<updated>2015-12-09T11:10:39.000+01:00</updated>
<values>
<value>CDD sans précarité</value>
<value>Ctt Professionnalisation CDD</value>
<value>Expatrié UE CDI</value>
<value>Cumul emploi-retraite CDI</value>
<value>CDI exo (service à la personne)</value>
<value>Apprenti prolongation ap. 1 an</value>
<value>Détaché Agirc CDI</value>
<value>VRP exclusif CDI</value>
<value>Auxiliaire de vacances</value>
<value>Stag soumis 12.5% non imp.</value>
<value>Expatrié hors UE CDI</value>
<value>Stag soumis 12.5% imp.</value>
<value>Complément retraite ex-salarié</value>
<value>Mandataire social</value>
<value>CDD Stagiaire d'été (ICCP mens)</value>
<value>Apprenti prolongation ap. 2 ans</value>
<value>Apprenti 1er contrat</value>
<value>Expatrié hors UE CDD</value>
<value>VRP multicarte</value>
<value>Stagiaire non soumis (obsolète)</value>
<value>CDD</value>
<value>Ctt Professionnalisation CDI</value>
<value>Pré Retraités</value>
</values>
<columns mappingId="0">
<column type="String" id="0">L Type Contrat </column>
</columns>
</lov>
</info>
<values><value id="2">CDI</value></values></answer>
</parameter></parameters>
And the response :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<success>
<message>La ressource de type "Document" dotée de l'identifiant "435708" a été correctement mise à jour.</message>
<id>435708</id>
</success>
If your documents have prompts, you would need to answer the prompts along with the mappings in the response body with a post call to change data source. You can also search the forum, there are lot of similar questions asked.
Thanks,
Prithvi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Asma,
In addition to what Prithviraj explained, you have to check the status of the proposal mappings. Sometimes, a mapping can be "Ambiguous". That means the ChangeSource engine found something that could be suitable but no sure.
In latest releases, you have more control about the change source process since we added a new feature named "strategy" which allows you to define how the mapping have to be done.
Best regards,
Anthony
Anthony,
The thing that we are migrating universes from UNV to UNX and we are facing this issue only when the UNV contains a prompt with a LOV. When mapping it hangs with this error message: WSR 00101
When the prompt is not a LOV then the API is Ok. When migrating UNX to UNX is also OK.
Thank you very much for your help.
Regards,
Asma
Hi Antony,
The full error message is :
<error>
<error_code>WSR 00101</error_code>
<message>L''opération de modification de la source a échoué. Veuillez vérifier la pertinence des mappages puis réessayez.</message>
<stack_trace>com.sap.webi.raylight.RaylightException: L''opération de modification de la source a échoué. Veuillez vérifier la pertinence des mappages puis réessayez.
at com.sap.webi.raylight.context.Messenger.createException(Messenger.java:59)
at com.sap.webi.raylight.actions.datasources.changesource.UpdateMappingsAction.tryChangesourceOrGetNeededParameters(UpdateMappingsAction.java:321)
at com.sap.webi.raylight.actions.datasources.changesource.UpdateMappingsAction.execute(UpdateMappingsAction.java:157)
at sun.reflect.GeneratedMethodAccessor366.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)
at com.sap.webi.raylight.RaylightServiceChangesource.updateMappings(RaylightServiceChangesource.java:132)
at sun.reflect.GeneratedMethodAccessor365.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: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.doPost(AbstractHTTPServlet.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
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)
</stack_trace>
</error>
The problem occurs during the thirs step, during the declaration of the mapping, with a POST to the url ; <webUrl>/documents/YYYYY/dataproviders/mappings?originDataproviderIds=DP0&targetDatasourceId=XXXX
Regards,
Pascal
Anthony,
All mappings are in status "OK". One is "ambiguous" because the name has changed slightly.
After several tests, we find that the source change of unv universe does not work if the document contains prompts. If we remove all the prompts, the source change works. If we add a simple prompt, no list of values, only a simple text field, the source change fails.
The problem seems specific to unv because source change of a UNX universe to an another UNX universe works...
Regards,
Pascal
Hello Pascal,
Two things to consider:
- to perform a change source, you have to provide valid mapping, or the operation will fail
- to perform a change source, you have to provide valid answers to prompts, or the operation will fail
The error you posted seems to indicate that the error is coming from the call you made (WSR 00101 : invalid request argument).
As you've probably fixed some issues in this area since SP5, upgrading may fix the issue... But I'm quite sceptic seems the problem is quite 'Ambiguous' to me.
Please, let us know if upgrading solved this issue or not.
Best regards,
Anthony
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.