on 06-07-2012 12:47 PM
Hi all
I have implemented an RFC lookup in a mapping, and I am using that mapping inside a transformation step in a ccBPM. I am getting this error
Mapping http://cofares.es/xi/FARMAVENIX/ClientesOperadorLogistico OP_ESTANDAR_ABS_TO_GENERICO_ABS_PARA_ESCRITURA , Software Component Version 05B503E07D6A11E181A6FA44C0A81F98 Mapping Step 1 , Type JAVA_JDK , Program com/sap/xi/tf/_MM_ESTANDAR_TO_GENERICO_PARA_ESCRITURA_ while trying to invoke the method java.lang.String.length() of an object loaded from local variable 'guid' Thrown: java.lang.NullPointerException: while trying to invoke the method java.lang.String.length() of an object loaded from local variable 'guid' at com.sap.guid.GUID.parseHexGUID(GUID.java:1046) at com.sap.guid.GUIDGenerator.parseHexGUID(GUIDGenerator.java:111) at com.sap.aii.utilxi.misc.api.GUIDFactory.parseHexGUID(GUIDFactory.java:127) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.createInputParameter(ParametrizationMap.java:141) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.createElement(ParametrizationMap.java:113) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.createParametrizations(ParametrizationMap.java:58) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.<init>(ParametrizationMap.java:38) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.newInstance(ParametrizationMap.java:66) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:112) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:73) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at sun.reflect.GeneratedMethodAccessor541.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:47) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:37) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_MethodRetry.invoke(Interceptors_MethodRetry.java:46) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138) at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164) at $Proxy570.processFunction(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:183) at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:267) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:185) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:302)
I have tested it in Integration Repository and all works fine.
Any idea?
Hi,
the discussion is quite old and I don't know if the problem is solved but I run into the same one.
Although there are plenty of blogs about it it took me some time to get it running.
A very good guidleine is availlable here in point 3 - Parameterized Mappings:
After finishing all the mentioned settings in MM. OM and Integration process within ESR there was still the question where to assign the name of the RFC communication channel to the parameter of the transformation step in BPM.
Answer is:
After definition and assignment of a parameter of type adapter in Repository to the integration process an empty parameter is added to the integration process in Directory. There the value of the RFC channel have to be assigned.
/Michael
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
>I have tested it in Integration Repository and all works fine.
You did not bind parameters of the mapping program during runtime. Let me explain in a brief way, you define variable such as MM1 or communication channel name in the mapping program. In the operation mapping you also define relevant parameters that you connect to the mapping program using binding. This would work during test time. As you know we specify operation mapping in the interface determination object. Here you have to assign values to the operation mapping parameters that will transfer value to the mapping program variables during runtime. Check in the interface determination whether you assign values for the operation mapping parameters.
Hope that helps.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
> Anyway, how can assing values to my operation mapping in the interface determination?
The parameters already defined in the operation mapping will be shown in the interface determination screen. Please refer this link for understanding ...
Hi Antonio,
You can see the error in message for execution the function "String.length()" for local variable "guid".
check for which value is assign to that variable and try to analyze the payload value. check for display queue for input variable for rfc lookup.
Regards
Gagandeep
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Have you assined RFC communication channel to integration process in Integration directory?
Open Integration process in ID and then right side it will ask for RFC channel assign it.
make sure that variable you created for RFCLooup binded.
Regards,
Raj
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.