cancel
Showing results for 
Search instead for 
Did you mean: 

Error WSR 00101 during mapping update

Former Member
0 Kudos

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]

http://lx1653.ad.esi.adp.com:6405/biprws/raylight/v1/documents/421950/dataproviders/mappings?targetD...

<?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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi all

Just to put some light on the change source action:

  1. 1)     If the default mappings are all OK does not necessarily mean that the change source will be successful. The data source objects can actually match some internal criteria, but the change source may still fail.
  2. 2)     Also, if some mappings are “Ambiguous” does not mean that the change source will fail, it means only that the data source objects are not fully matching with respect to the internal criteria.
  3. 3)     The mapping status concern the matching between the data source objects, but in any case it is not a prediction on the successfulness of the change source operation itself.

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

Answers (2)

Answers (2)

eric_festinger
Contributor
0 Kudos

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

Former Member
0 Kudos

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

eric_festinger
Contributor
0 Kudos

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

Former Member
0 Kudos

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 &quot;Document&quot; dotée de l'identifiant &quot;435708&quot; a été correctement mise à jour.</message>

    <id>435708</id>

</success>

Former Member
0 Kudos

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

Former Member
0 Kudos

Hi Prithvi ,

Thank you for you help.

In fact that's what I did. I have a post call.

Can you point me out to other helping thread .

I already browsed the scn so far. Any new insight is appreciated.

Thank you,

Asma

former_member197386
Active Contributor
0 Kudos

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

Former Member
0 Kudos

Hi Anthony,

Thank you for your answer.

In which version this new feature has been included?

Actually, we are on BI 4.1 SP5 Patch3.

Regards,

Asma

former_member197386
Active Contributor
0 Kudos

You're welcome Asma,

Strategies are being supported starting SP6 in RESTful ws.

Regards,

Anthony

Former Member
0 Kudos

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

former_member197386
Active Contributor
0 Kudos

Do you have the full error with message that the server is answering?

Anthony

Former Member
0 Kudos

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

former_member197386
Active Contributor
0 Kudos

Ok thanks Pascal.

You're submitting valid mappings? I mean mappings which are not "Ambiguous"?

Regards,

Anthony

Former Member
0 Kudos

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...

We are currently sp5 4.1 Patch 3, we will migrate to 4.1 sp6 (Thursday). Hope this fixes the problem.

Regards,

Pascal

former_member197386
Active Contributor
0 Kudos

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