cancel
Showing results for 
Search instead for 
Did you mean: 

Runtime Exception in Message Mapping for RFC Lookup

vuyyurujyothi
Participant
0 Kudos

Hi All,

I have implemented RFC Lookup in UDF.

When calling RFCAccessor (

Payload Result = rfcAccessor.call(payload);

) I am getting the following error:

RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns0:Messages. The message is: Exception:[java.lang.RuntimeException: COULD NOT TRIGGER ALERTException during processing the payload.Problem when calling an adapter by using communication channel CC_XI_GBL_Client_Alert_SOAP_Receiver (Party: , Service: BS_XI_GLOBAL_CLIENT, Object ID: 53dbd12f49df3af0910187d7e86c8567) XI AF API call failed. Module exception: 'com.sap.aii.af.ra.ms.api.RecoverableException: Parsing Error: com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: Bad attribute list. Expected WhiteSpace, / or >:(:main:, row:1, col:124)

This is my XML String:

<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?><p1:SALERT_CREATE xmlns:p1='urn:sap-com:document:sap:rfc:functions'xmlns:SOAP-ENV='http:/"+"/schemas.xmlsoap.org/soap/envelope/'><IP_CAT>EXCEPTIONALERTS</IP_CAT><IT_CONTAINER><item><ELEMENT>EXCEPTION</ELEMENT><TAB_INDEX>0001</TAB_INDEX><ELEMLENGTH>020</ELEMLENGTH><TYPE>g</TYPE><VALUE>Lookup using CC_I98_BOM_Update_lookup_RFC_Receiver during CC_I98_BOM_Update plant lookup failed</VALUE></item><item><ELEMENT>SXMS_MSG_GUID</ELEMENT><TAB_INDEX>0002</TAB_INDEX><ELEMLENGTH>255</ELEMLENGTH><TYPE>g</TYPE><VALUE>"+(String) map.get(StreamTransformationConstants.MESSAGE_ID)+"</VALUE></item><item><ELEMENT>SXMS_FROM_SERVICE</ELEMENT><TAB_INDEX>0003</TAB_INDEX><ELEMLENGTH>255</ELEMLENGTH><TYPE>g</TYPE><VALUE>"+(String) map.get(StreamTransformationConstants.SENDER_SERVICE)+"</VALUE></item><item><ELEMENT>SXMS_FROM_INTERFACE</ELEMENT><TAB_INDEX>0004</TAB_INDEX><ELEMLENGTH>255</ELEMLENGTH><TYPE>g</TYPE><VALUE>"+(String) map.get(StreamTransformationConstants.INTERFACE)			+"</VALUE></item><item><ELEMENT>SXMS_TO_SERVICE</ELEMENT><TAB_INDEX>0005</TAB_INDEX><ELEMLENGTH>255</ELEMLENGTH><TYPE>g</TYPE><VALUE>"+(String)map.get(StreamTransformationConstants.RECEIVER_SERVICE)+"</VALUE></item><item><ELEMENT>SXMS_TO_INTERFACE</ELEMENT><TAB_INDEX>0006</TAB_INDEX><ELEMLENGTH>255</ELEMLENGTH><TYPE>g</TYPE><VALUE>"+(String) map.get(StreamTransformationConstants.RECEIVER_NAME)+"</VALUE></item></IT_CONTAINER></p1:SALERT_CREATE>

Till now it is working fine and now it is giving this exception in development. In quality it is working fine.

Guys please help me in this.

Thanks and Regards,

Jyothirmayi.

Accepted Solutions (1)

Accepted Solutions (1)

Shabarish_Nair
Active Contributor
0 Kudos

remove - xmlns:SOAP-ENV='http:/"+"/schemas.xmlsoap.org/soap/envelope/'

and change the string to <?xml version=\"1.0\" encoding=\"UTF-8\"?><p1:SALERT_CREATE xmlns:p1=\"urn:sap-com:document:sap:rfc:functions\">

Answers (2)

Answers (2)

Former Member
0 Kudos

as u say in QA it is working fine. take the source payload from a message in QA system and test it in the dev from rwb and c if u get this error

samiullah_qureshi
Active Contributor
0 Kudos

Hi,

I think your xml is not well formed.

Use following xml:-

 
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<p1:SALERT_CREATE xmlns:p1='urn:sap-com:document:sap:rfc:functions' xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'><IP_CAT>EXCEPTIONALERTS</IP_CAT><IT_CONTAINER><item><ELEMENT>EXCEPTION</ELEMENT><TAB_INDEX>0001</TAB_INDEX><ELEMLENGTH>020</ELEMLENGTH><TYPE>g</TYPE><VALUE>Lookup using CC_I98_BOM_Update_lookup_RFC_Receiver during CC_I98_BOM_Update plant lookup failed</VALUE></item><item><ELEMENT>SXMS_MSG_GUID</ELEMENT><TAB_INDEX>0002</TAB_INDEX><ELEMLENGTH>255</ELEMLENGTH><TYPE>g</TYPE><VALUE>"+(String) map.get(StreamTransformationConstants.MESSAGE_ID)+"</VALUE></item><item><ELEMENT>SXMS_FROM_SERVICE</ELEMENT><TAB_INDEX>0003</TAB_INDEX><ELEMLENGTH>255</ELEMLENGTH><TYPE>g</TYPE><VALUE>"+(String) map.get(StreamTransformationConstants.SENDER_SERVICE)+"</VALUE></item><item><ELEMENT>SXMS_FROM_INTERFACE</ELEMENT><TAB_INDEX>0004</TAB_INDEX><ELEMLENGTH>255</ELEMLENGTH><TYPE>g</TYPE><VALUE>"+(String) map.get(StreamTransformationConstants.INTERFACE)			+"</VALUE></item><item><ELEMENT>SXMS_TO_SERVICE</ELEMENT><TAB_INDEX>0005</TAB_INDEX><ELEMLENGTH>255</ELEMLENGTH><TYPE>g</TYPE><VALUE>"+(String)map.get(StreamTransformationConstants.RECEIVER_SERVICE)+"</VALUE></item><item><ELEMENT>SXMS_TO_INTERFACE</ELEMENT><TAB_INDEX>0006</TAB_INDEX><ELEMLENGTH>255</ELEMLENGTH><TYPE>g</TYPE><VALUE>"+(String) map.get(StreamTransformationConstants.RECEIVER_NAME)+"</VALUE></item></IT_CONTAINER></p1:SALERT_CREATE>

Regards,

Sami.