I am using Mule Runtime Engine 4.4.0.
Consume a Web Service to run the SOAP API.
I am not sure which variable the 'soap:Header' information is stored in when an SOAP fault occurs.
The <soap:Body>
information was stored in error.muleMessage.payload
, but the <soap:Header>
information was not.
error.muleMessage.payload
SoapFault{faultCode={http://schemas.xmlsoap.org/soap/envelope/}Server, subCode=null, detail='<?xml version="1.0" encoding="UTF-8"?>', reason='error', node='null', role='faultactor'}
Response
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
xmlns:se="http://test/session">
<soap:Header>
<se:Data>
<se:Inner1>data1</se:Inner1>
<se:Inner2>data2</se:Inner2>
<se:Inner3>data3</se:Inner3>
</se:Data>
</soap:Header>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>error</faultstring>
<faultactor>faultactor</faultactor>
</soap:Fault>
</soap:Body>
</soap:Envelope>
I would like to know which variable the <soap:Header>
information is stored in when a SOAP Fault error occurs.
As far as I know the Web Service Consumer doesn't allow to retrieve the SOAP headers when the response is a SOAP Fault error. If you just need the information for debugging you can enable Mule 4 HTTP wire logging.