Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
PDomerat
Explorer

In BPM processes it is usal to have automated tasks which process backend calls to abap or non-sap systems. Therefore the middleware component (Process Integration) can be used or the SOA runtime of every SAP AS Java system itself. If you use the latter option it happens that rfc or bapi functions at the abap backend system change during the project or the bpm lifecycle. Thus RFC calls might fail and an error in the SOA connectivity logs is shown.The reason is that the java system caches the rfc metadata and changes do not take effect immediately (latest after system restart). That's why I want to share this little piece of information for those of you, struggling with error message in bpm process after having reimported or changed a rfc backend function.

To refresh JCO metadata for rfc functions, you have to open the NetWeaver Administrator (http://<host>:<port>/nwa) and navigate to "Infrastructure->Availability and Performance->Ressource Monitoring -> JCO Montoring". There you will find a tab called "metadata Cache". On this tab the rfc metadata for each system used is listed. There you can simply delete the cache of your rfc functions by selecting the proper system from the list.

If the JCO cache monitor shows an error, have a look at sap note 1378856. You have to start the following two applicatons in order to make the monitor work:

tc~lm~itsam~ui~conn~monitor~sear

tc~lm~itsam~ui~jco~admin~ear


In case you're faced with rfc meta data cache problems, the exceptions probably looks similar to this one:

Exception during the processing of the input data

[EXCEPTION]

java.lang.NullPointerException: while trying to invoke the method java.lang.Exception.fillInStackTrace() of an object loaded from local variable 'e'

at com.sap.sdo.das.jco.JCoInvoker.fillInputStructure(JCoInvoker.java:511)

at com.sap.sdo.das.jco.JCoInvoker.accept(JCoInvoker.java:238)

at com.sap.engine.services.sca.plugins.jco.JCoImplementationInstance.accept(JCoImplementationInstance.java:63)

at com.sap.engine.services.sca.das.SCADASImpl.invokeReference(SCADASImpl.java:346)

at com.sap.glx.adapter.app.ucon.SCADASWrapperImpl.invoke(SCADASWrapperImpl.java:72)

at com.sap.glx.adapter.app.ucon.UnifiedWebServiceCallObject.invokeWebServiceOperation(UnifiedWebServiceCallObject.java:97)

at com.sap.glx.adapter.app.ucon.UnifiedWebServiceCallClass.invoke(UnifiedWebServiceCallClass.java:169)

at com.sap.glx.core.dock.impl.DockObjectImpl.invokeMethod(DockObjectImpl.java:607)

at com.sap.glx.core.kernel.trigger.config.Script$MethodInvocation.execute(Script.java:248)

at com.sap.glx.core.kernel.trigger.config.Script.execute(Script.java:798)

at com.sap.glx.core.kernel.execution.transition.ScriptTransition.execute(ScriptTransition.java:67)

at com.sap.glx.core.kernel.execution.transition.Transition.commence(Transition.java:195)

at com.sap.glx.core.kernel.execution.LeaderWorkerPool$Follower.run(LeaderWorkerPool.java:154)

at com.sap.glx.core.resource.impl.common.WorkWrapper.run(WorkWrapper.java:58)

at com.sap.glx.core.resource.impl.j2ee.J2EEResourceImpl$Sessionizer.run(J2EEResourceImpl.java:267)

at com.sap.glx.core.resource.impl.j2ee.ServiceUserManager$ServiceUserImpersonator$1.run(ServiceUserManager.java:152)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.Subject.doAs(Subject.java:337)

at com.sap.glx.core.resource.impl.j2ee.ServiceUserManager$ServiceUserImpersonator.run(ServiceUserManager.java:149)

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)

The BPM error in the process monitor looks like this:

"A technical error during invocation: Could not invoke service reference name <any service reference id> ..."

This is mostly cause by wrong SOA configuration, so that you should check the application configuration first.

Labels in this area