我使用的是 Mule 运行时引擎 4.4.0。
使用 Web 服务来运行 SOAP API。
我不确定发生 SOAP 错误时“soap:Header”信息存储在哪个变量中。
<soap:Body>
信息存储在error.muleMessage.payload
中,但<soap:Header>
信息未存储。
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'}
回复
<?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:Session>
<se:SessionId>session-id</se:SessionId>
<se:SequenceNumber>1</se:SequenceNumber>
<se:SecurityToken>security-token</se:SecurityToken>
</se:Session>
</soap:Header>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>error</faultstring>
<faultactor>faultactor</faultactor>
</soap:Fault>
</soap:Body>
</soap:Envelope>
我想知道当发生 SOAP Fault 错误时,
<soap:Header>
信息存储在哪个变量中。
据我所知,当响应是 SOAP 错误时,Web 服务使用者不允许检索 SOAP 标头。如果您只需要调试信息,您可以启用 Mule 4 HTTP 线路日志记录。