cancel
Showing results for 
Search instead for 
Did you mean: 

Problem: Adapter SOAP

Former Member
0 Kudos

Hello.

My problem is recepcionar a SOAP external errors produced. The idea is that XI / IP register those errors and surrendered to a proxy SAP ECC.

SOAP you want to capture.

<Soap: Envelope xmlns: soap = "http://schemas.xmlsoap.org/soap/envelope/" xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns: xsd = " http://www.w3.org/2001/XMLSchema ">

<soap:Body>

<soap:Fault>

<faultcode> Soap: Server </ faultcode>

<faultstring> Error for data decimal </ faultstring>

Transactions <faultactor> </ faultactor>

<detail>

It was not possible to make <message> Transaction Order Income </ message>

<description> Problems in accessing the repository </ description>

</ Detail>

</ Soap: Fault>

</ Soap: Body>

</ Soap: Envelope>

The flow is:

(1) SAP ECC (Proxy) <-> (2) SAP XI / IP Mapping <-> (3) External WebService

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Close Post

Former Member
0 Kudos

Claudio,

If your scenario is Synchronous, You need to have following Message Types to capture Fault Message form WebService.

ProxyRequest <Mapping> WebserviceRequest

ProxyResponse <Mapping> WebserviceResponse

ProxyFault <Mapping> WebserviceFault

Declare a fault message for Proxy Outbound Interface and perfom a mapping from SOAP Fault to Proxy Fault.

Regards,

Sudharshan N A

Former Member
0 Kudos

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

<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>