cancel
Showing results for 
Search instead for 
Did you mean: 

RfcAccessor Method Call

Former Member
0 Kudos

hello,

I am trying to call an RFC FM from the integration builder.

i am using the RFCAccessor class.

I created a class in a IDE tool and imported it to the integration builder.

when the code gets to the method call in the code in the class of the imported archive i get an exception.

i can't figure out the problem so please help me

Exception during processing the payload.Problem when calling an adapter by using communication channel XITOXI_RFC_TABLES_MAPPING (Party: , Service: XI_MAPPING_TABLES, Object ID: d626b6dd258a3f6bb1399cf213127fc2) XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was <null>'. Cause Exception: 'error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was <null>'.

com.sap.aii.mapping.lookup.LookupException: Problem when calling an adapter by using communication channel XITOXI_RFC_TABLES_MAPPING (Party: , Service: XI_MAPPING_TABLES, Object ID: d626b6dd258a3f6bb1399cf213127fc2) XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was <null>'. Cause Exception: 'error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was <null>'.

at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.process(AdapterProxyLocal.java:96)

at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.call(SystemAccessorInternal.java:47)

at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:141)

at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:74)

at com.sap.aii.ib.server.hmi.HmiServiceImpl.invokeMethod(HmiServiceImpl.java:132)

at com.sap.aii.ib.server.hmi.HmiServer.process(HmiServer.java:237)

at com.sap.aii.ib.web.hmi.HmiServlet.processRequestByHmiServer(HmiServlet.java:290)

at com.sap.aii.ib.web.hmi.HmiServlet.processRequestByHmiServer(HmiServlet.java:205)

at com.sap.aii.ib.web.hmi.workers.InternalClient.doWork(InternalClient.java:73)

at com.sap.aii.ib.web.hmi.HmiServlet.doWork(HmiServlet.java:563)

at com.sap.aii.ib.web.hmi.HmiServlet.doPost(HmiServlet.java:699)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

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:95)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159)

Root Cause:

com.sap.aii.af.service.api.AFException: XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was <null>'. Cause Exception: 'error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was <null>'.

at com.sap.aii.af.service.api.AdapterAccess.sendMsg(AdapterAccess.java:214)

at com.sap.aii.af.service.api.AdapterAccess.call(AdapterAccess.java:99)

at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.process(AdapterProxyLocal.java:87)

at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.call(SystemAccessorInternal.java:47)

at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:141)

at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:74)

at com.sap.aii.ib.server.hmi.HmiServiceImpl.invokeMethod(HmiServiceImpl.java:132)

at com.sap.aii.ib.server.hmi.HmiServer.process(HmiServer.java:237)

at com.sap.aii.ib.web.hmi.HmiServlet.processRequestByHmiServer(HmiServlet.java:290)

at com.sap.aii.ib.web.hmi.HmiServlet.processRequestByHmiServer(HmiServlet.java:205)

at com.sap.aii.ib.web.hmi.workers.InternalClient.doWork(InternalClient.java:73)

at com.sap.aii.ib.web.hmi.HmiServlet.doWork(HmiServlet.java:563)

at com.sap.aii.ib.web.hmi.HmiServlet.doPost(HmiServlet.java:699)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

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:95)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159)

Regards,

Roi Grosfeld

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

I already have looked on this FAQ.

i RFC is imported to th intgration builder in this namespace and it still not recognize the function.

Former Member
0 Kudos

Hi,

Did you have a solution for your problem?

Regards

Michaela

Former Member
0 Kudos

Hi,

There is a solution for it on FAQ for RFC adapter,

Refer Question 16, OSS Note: 730870,

Link: https://websmp104.sap-ag.de/notes

<i>Q 16: While sending a message to the RfcAdapter the error "... functiontemplate from repository was <null>" is shown. Which reasons are possible?

ANSWER: After receiving a message from the Adapter Engine, the RfcAdapter extracts the payload from the message. Normally this should be an XML document in the RFC-XML format. In this format the root element of the XML document represents the name of the function module and is enclosed in the fixed RFC namespace 'urn:sap-com:document:sap:rfc:functions'. But this only will be checked at a later point, when the conversion from XML to native RFC is done. As prerequisite of this conversion the structures and types of the function module parameters has to be known. This is also called metadata or function template. To get this function template the name of the function module is extracted from the root element of the XML document and is queried against the metadata repository of the communication channel. If the metadata repository doesn't have a function module with this name, the exception named above is thrown. Possible reasons are

The XML document, which was send to the RfcAdapter, is not a RFC-XML document. So the root element name of this document is not the name of a function module and thus can't be found in the metadata repository.

The metadata repository doesn't contain an entry for this function module name. Normally the metadata repository will be an R/3 system and it's function module repository can be searched with transaction code SE37.

</i>

hope this will help,

Anirban.