Skip to Content
avatar image
Former Member

Call Adapter Error

Hello everybody,

I have a synchronous scenario ABAP Proxy->XI->RFC, the reason why we used XI it's beacuse by company politics any systems integration needs to go by SAP XI, and the reason why we used RFC in the receiver system it's because by company politics too we can't generate proxies in that system, so we decided to go by RFC, now the interface is working really fine, the abap proxy in the sender system is called by a Z program, so this program gives a report of every record, and the problem that I'm facing is that I need to give back to the sender systems errors like this:

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

- <!-- Call Adapter

-->

- 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="MESSAGE">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 '9999-12-32' has a wrong format at field VALIDA: Unparseable date: "9999-12-32"</SAP:AdditionalText>

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack />

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

</SAP:Error>

this error it's beacuse of the day 32 of the month december, we know that, but this error is only treated as exception CX_AI_SYSTEM_FAULT in the Proxy, and I need to pass the SAPAdditionalText of the error above to the sender system, is there a way to give back to the proxy this text so it will be more explicit in the error and not just a SYSTEM_FAULT???????, thanks in advance.

Regards,

Julio Cesar

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

5 Answers

  • Nov 17, 2007 at 04:20 AM

    Hi Julio,

    Since your receiver side is an RFC, you can declare exceptions in your RFC. When ever you get such exceptions, you need to catch them in your RFC and fill your own exception object and throw it. WHen this RFC is imported in IR, you can fille the fault message by creating a fault message type on top of fault data type and log data (created automatically when a name space is created). In the interface mapping, when you read the interfaces, you would find the tabs - request, response and also exception (or fault dont remember exactly). Here you can you another mapping where you can map the exception thrown by RFC to a message type that your proxy can handle.

    Hope it helps.

    VJ

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 17, 2007 at 06:14 AM

    Catch the exceptions in RFC code..

    -->CX_AI_SYSTEM_FAULT in the Proxy, and I need to pass the SAPAdditionalText of the error above to the sender system, is there a way to give back to the proxy this text so it will be more explicit in the error and not just a SYSTEM_FAULT???????

    sure, make the sender interface a synchronous one by that you can easily capture the message coming from RFC in Proxy.

    Regards,

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 20, 2007 at 05:59 PM

    Hello VJ,

    Thanks for your answer, about the solution your are kindly giving me, it's not really clear to me in this point:

    " When ever you get such exceptions, you need to catch them

    in your RFC and fill your own exception object and throw it."

    the exception I'm getting is a default by SAP, not one I could raise, maybe I'm not understanding right your proposal could you explain me more this part, do you mean that if I declare an exception in my RFC even if I'm not doing the RAISE is going to catch the exception I'm getting?, thanks a lot for your answer.

    Regards,

    Julio Cesar

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 20, 2007 at 06:03 PM

    Hello Santosh,

    Thanks for your answer, my sender interface it's actually a synchronous proxy and a receiver synchronous RFC, now the CX_AI_SYSTEM_FAULT exception is going back from XI to the client proxy as a GENERAL MESSAGE, but the text is empty, so it's not a really meaningful message for the end user, maybe with this data you could give me another advice, thanks in advance.

    Regards,

    Julio Cesar

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Sep 22, 2010 at 02:03 AM

    Thanks for your answers.

    Add comment
    10|10000 characters needed characters exceeded