Quantcast
Channel: SCN : Popular Discussions - RESTful Web Services SDK
Viewing all articles
Browse latest Browse all 1088

Error WSR 00101 during mapping update

$
0
0

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?targetDatasourceId=406759

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


Viewing all articles
Browse latest Browse all 1088

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>