JAX WS 2.0 を使用して SOAP Web サービスを呼び出しています。エラーの場合、次の応答が返されます。
<?xml version="1.0"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://www.w3.org/2003/05/soap- envelope">
<soap:Header/>
<soap:Body>
<soap:Fault xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://www.w3.org/2003/05/soap- envelope" xmlns:xml="http://www.w3.org/XML/1998/namespace">
<soap:Code>
<soap:Value>soap:Receiver</soap:Value>
</soap:Code>
<soap:Reason>
<soap:Text xml:lang="en">Exception of type 'blah blah' was thrown.
</soap:Text>
</soap:Reason>
<soap:Node>{SOME URL}</soap:Node>
<detail>
<error>345</error>
<message>Cannot find user. Blah blah</message>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
ご覧のとおり、有用なエラーは詳細ノードにあります。
<soap:Envelope>
<soap:Body>
<soap:Fault>
<detail>
私のクライアントでは、SOAPFault オブジェクトを持つ SOAPFaultException を取得しています。SOAPFault オブジェクトには、上に投稿したノードがないようです。SOAPFaultException.getFault().getDetail() が null です。ただし、soap:Reason を含む他のすべてのノードがあります。詳細ノードが欠落している理由は何ですか?
ありがとう。