cancel
Showing results for 
Search instead for 
Did you mean: 

How to Handle RFC delivery exception (rfcClientException) in XI?

Former Member
0 Kudos

I have a following scenario.

I have an outbound soap interface (sender) and inbound RFC(receiver). When the soap message is posted it goes to receiver where it has to execute the RFC. It tries to convert the XML to RFC and throws the following exception.

com.sap.aii.af.ra.ms.api.DeliveryException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$ConversionException: (122) JCO_ERROR_CONVERSION: Date 'xxxx-xx-xx' has a wrong format at field CREAT_DATE: Unparseable date: "xxxx-xx-xx

I defined the fault message and attached it to the Inbound Interface. I also defined the mapping of receiver exception message to fault message. I am expecting a fault message back to sender which is not happening.

When I go to moni and try to look for the error in the response message I see the following.

<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">

<SAP:Category>XIAdapterFramework</SAP:Category>

<SAP:Code area="PARSING">GENERAL</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$ConversionException: (122) JCO_ERROR_CONVERSION: Date 'xxxx-xx-xx' has a wrong format at field CREAT_DATE: Unparseable date: "xxxx-xx-xx"</SAP:AdditionalText>

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack />

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

I am suspecting that since the fault message does not contain this structure it's not able to build it.

How do I handle such runtime exception and transfer it to sender system. Any help would be greatly apperciated.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

I'm not experiencing that same scenario of yours but i'm researching how it would be possible to handle exception messages in the BPE. In fact, the fault message is generated by an application error, not due to a system error. In my case, I'm using a receiver SOAP Adapter, directed to a non existing Web Service. It returns an error but unfortunately, I can't not deal with that (just the SOAP Fault String), bringing all the complexity of dealing with a non-standard message in the requester application.

In fact, I think it would be nice to treat the error in the BPE and return, for example, a fault message to the original application. In XI 3.0, I think it might not be possible to accomplish.

If you have any solution to that, please, let me know.

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Samir,

Make sure that your mapping for the fault message is referring to the <b>exchangelogdata</b> datatype.

This fault message must be specified not only in the sender system but also in the receiver inbound interface.

Makesure that the sender is sending the message synchronuously, else you wouldnt be able to receive any message in the first place.

In case you donot find exchangelogdata datatype in your namespace,in your software component version check the box that specifies the same.

regards,

Smitha.

Former Member
0 Kudos

Hi Samir / Fenggiao,

The problem in your scenario is that XI accepts date in the format of YYYYMMDD (i.e like 20051201 for the 1st of December 2005).

Hence the error in conversion. Try giving the date in the format mentioned above and let me know.

Thanks,

Prashanth

Former Member
0 Kudos

I have the same problem. The error is as follows:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

- <!-- Call Adapter

-->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">

<SAP:Category>XIAdapterFramework</SAP:Category>

<SAP:Code area="PARSING">GENERAL</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$ConversionException: (122) JCO_ERROR_CONVERSION: Date '2006/04/09' has a wrong format at field INVALIDITYBEGIN: Unparseable date: "2006/04/09"</SAP:AdditionalText>

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack />

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

Anyone have any idea, how should I resolve the data format issue?

Thanks

Former Member
0 Kudos

Hi,

use YYYYMMDD format for date.

Cheers,

Naveen

Former Member
0 Kudos

Hi Fengqiao,

R/3 stores date in yyyymmdd format.

So, any other date format would give you an error, unless you use a user defined funtion to change the format or you could send the date value itself in this format.

Regards,

Smitha.