cancel
Showing results for 
Search instead for 
Did you mean: 

How catch the SOAP Fault Message ?

Former Member
0 Kudos

Hi!

I use scenario with SOAP. XI71 generate a SOAP Request, send it and wait for answer.

When I send SOAP Response as answer for SOAP Request , I see a correct SOAP Response message in BPM. Everything works fine.

When I send a SOAP Fault message to BPM as answer for SOAP Request, I don't see SOAP Fault message. Exception branch in BPM with Fault message doesn't work. Work only a system exception branch.

In SXMB_MONI I see something like this:

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

<!-- XML Validation Outbound Channel Response -->

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

<SAP:Category>Application</SAP:Category>

<SAP:Code area="UNKNOWN">APPLICATION_ERROR</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText>application fault</SAP:AdditionalText>

<SAP:ApplicationFaultMessage namespace="http://xml.apache.org/axis/">Server</SAP:ApplicationFaultMessage>

<SAP:Stack />

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

</SAP:Error>

My SOAP Fault Message I can see in SXMB_MONI only as attachment.

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

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

<soapenv:Body>

<soapenv:Fault>

<faultcode>Server</faultcode>

<faultstring>This represents an internal error in the Web Services Hub.</faultstring>

<detail>

<ns1:WSHFaultDetails xmlns:ns1="http://www.informatica.com/wsh">

<ErrorCode>WSH_95000</ErrorCode>

<ExtendedDetails>java.lang.StringIndexOutOfBoundsException: String index out of range: -1</ExtendedDetails>

</ns1:WSHFaultDetails>

</detail>

</soapenv:Fault>

</soapenv:Body>

</soapenv:Envelope>

How can I catch this SOAP Fault Message?

Thanks for any suggestion!

Accepted Solutions (1)

Accepted Solutions (1)

stefan_grube
Active Contributor

SOAP adapter does not support fault message.

Any fault is treated as error.

fault messages are only supported for XI messages (ABAP or Java proxies) and RFCs.

Former Member
0 Kudos

Hi, I have an ABAP_PROXY To AXIS_WebService scenario and would like to generate an exception in the abap side when a soap:fault message is returned from the axis service.

> SOAP adapter does not support fault message.

> Any fault is treated as error.

> fault messages are only supported for XI messages (ABAP or Java proxies) and RFCs.

Hi, i apologize for mi ignorance but does this mean that i won't be able to achieve my goal?

When a soap:fault is received i can see in the SXI_MONITOR 3 messages:

1.- request

2.- response with the soap fault converted to an xi message

3.- xi message with an error as if it where trying to execute de message mapping for the response (instead of calling the one for the error)

Any help will be appreciated

Regards,

Nicolá

Answers (1)

Answers (1)

VijayKonam
Active Contributor
0 Kudos

All of your associated interfaces must be synchronous in this case ( at least the one that receives the response message in BPM). You need to define separate mappings for each of request,response and fault messages in interface/operation mappings. Then only you would see the fault message in your BPM.

VJ