Hi,
I am doing SOAP to RFC scenario in New system,
I am getting the RFC error as follows..
Returning to application. Exception: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: functiontemplate from repository was <null>
I tried to send source message from RWB-test tab also, getting the same error,
There were no missing of mandatory fields in BAPI. I filled all fields, with the same fields I can able to do test run in SE37 manually.
date format also correct.
In message monitoring ->selected message->payload->MainDocument- then getting Payload content is empty.
If I click "View Message content" then I am getting the payload.
can you please let me know how to solve this?
Request clarification before answering.
Hi Khaja,
Check the request message which you sending to RFC adapter(Payload after request mapping), the root node must be the name of the function module.
Check below sap note, Question 16.
730870 - FAQ XI 3.0/ PI 7.0/ PI 7.1/ PI 7.11/ PI 7.2/ 7.3 RFC Adapter
Q 16: While sending a message to the RFC Adapter the error "...
functiontemplate from repository was <null>" is shown. What is the
reason?
A: After receiving a message from the Adapter Engine, the RFC Adapter
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
o The XML document, which was sent to the RFC Adapter, 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.
o 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 the
transaction SE37.
Regards,
Praveen.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks All,
I resolved it finally, the interface mapping not worked, the response message not mapped there, and I re-developed all IR objects Now it started working.
Thanks to Praveen Gandepalli this helped me to check the payload in Message monitoring.
Hi Khaja,
May be the PI has a wrong RFC metadata, try to clear the CPA cache and try.
Regards.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Khaja,
Go to ECC st22 transaction to check any exception.
There were no missing of mandatory fields in BAPI. I filled all fields, with the same fields I can able to do test run in SE37 manually.Even with this test if you are using wrong format in the date or currency fields the exception could be raised.
Pay attention that you are using the right client number that you are using to connect to ECC to test the RFC.
I have checked that not all is optional in that BAPI:
I think you can set an external breakpoint in the first line of the RFC code with the same user that you are using on the RFC receiver channel and check if the RFC can be called.
Regards.
| User | Count |
|---|---|
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.