Skip to Content
avatar image
Former Member

Fault Message SOAP

Hello.

My design is next.

IN SAP XI/PI

  • Interface Object

1.- Create Fault Message Types. (MT_FAULT)

2.- Message Interfaces / add Fault Message Types (MT_FAULT) (Add Proxy and SOAP interfaces)

  • Mapping Object

3.- Message Mapping / Add Mapping (MT_FAULT mapping MT_FAULT) -> (MM_FAULT = mapping generate)

4.- Interfaces Mapping / Method Request,Response and Fault.

In Method Fault add (MM_FAULT).

IN SPROXY SAP ECC

5.- Execute transacction Sproxy and regenerate namespaces of interface.

6.- Debug interface and NOT MESSAGE ERROR.

But entry transaction SXI_MONITOR, in SAP ECC the XML is next.

(SOAP HEADER - ERROR)

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

  • <!-- Inbound Message

-->

<SAP:Category>XIAdapter</SAP:Category>

<SAP:Code area="PARSING">ADAPTER.SOAP_EXCEPTION</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText>soap fault: Server was unable to read request. ---> There is an error in XML document (1, 526). ---> Instance validation error: 'CL' is not a valid value for SolicitudOrdenPagoMonedaOperacion.</SAP:AdditionalText>

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack />

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

</SAP:Error>

bold The error "AdditionalText" want add in table Z.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Jan 25, 2008 at 03:57 PM

    What was your requirement? A fault message is sent from Proxy only in case of exceptions or errors.

    VJ

    Add comment
    10|10000 characters needed characters exceeded

    • The fault message structure are useful only when you want to pass them to the sender system via XI. IF you want to push them to a Z table in ECC itself, you need not have to define them. In the proxy code, use Try Catch blocks to catch the exceptions and write them to Z tables.

      VJ

  • avatar image
    Former Member
    Sep 08, 2008 at 07:16 PM

    Solve my problem

    Add comment
    10|10000 characters needed characters exceeded