cancel
Showing results for 
Search instead for 
Did you mean: 

Detail node in SOAP fault

former_member234749
Participant
0 Kudos

Hi All,

I am working on JDBC to SOAP scenario using BPM. We have synchronous send step in BPM inside block step. In block two kinds of exception, One is due to system unavailability and the other is due to the SOAP Fault response from the Supplier.

As per my understanding from the sdn fourms and blogs,if the web service response has to contain an application error message it must populate the "<detail>" tag in the soap fault message.

However the fault response which we receive looks like this

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

- <!-- Inbound Message

-->

- <SOAP:Fault xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

<faultcodexmlns:t="http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher"></faultcode>

<faultstring>bla bla..</faultstring>

</SOAP:Fault>

Hence BPM is trated as a system error. But in my case it should trigger the Fault exception. Do i need to do any settings to get the <detail> node in Application Fault response message?

Please share your valuable inputs on the same.

Thanks

Accepted Solutions (0)

Answers (2)

Answers (2)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>>>Hence BPM is trated as a system error. But in my case it should trigger the Fault exception. Do i need to do any settings to get the >><detail> node in Application Fault response message?

Without BPM: If your provider supports fault message in wsdl to represent application errors, you can use that fault message which should be availabe in wsdl and map that message to your source side (jdbc) fault message for error capturing. Otherwise you cannot retrieve response as fault message.

WIth BPM: BPM does not support fault message.

Hope answered your question.

JaySchwendemann
Active Contributor
0 Kudos

Hi there, sorry, for replying on such an old message but maybe someone sees this anyway.

I thought as soon as there is no <detail> node in the xml then SAP PI treats the message as system error?

  1. Was I wrong with this assumption?
  2. My provider uses a standard soap fault message like here --> http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383507. No special fault message in the WSDL. Could I still enhance this message in the WSDL and use that?

Kind regards

Jens

Former Member
0 Kudos

Hi SAPPI116,

the Fault data type is the standard fault reporting structure of the SOAP envelope as defined in [http://schemas.xmlsoap.org/soap/envelope/]. It is optional to populate the <detail> node, so i guess your service provider chose not to use that node, may be because there is sufficient information in <faultstring>.

The [PI fault message type|http://help.sap.com/saphelp_nwpi71/helpdata/en/dd/b7623c6369f454e10000000a114084/content.htm] is PI internal data and hence not known to an external service provider and not populated by the SOAP interface.

The reason that the BPM fails may be that the SOAP Fault is not defined in the response message of your service interface. Is that the case? How does the response message type look like?

If you use the Envelope of the SOAP envelope as response message in your service interface, you can use the response in the BPM, either it is successful or not.

Regards, Martin