JAX-WS APIを使用して、WS-Addressing対応のWebサービスクライアントを作成したいと思います。wsimportを使用してWSDLファイルからクライアントスタブを作成し、AddressingFeatureを使用してWS-Addressingを有効/無効にできます。
Hello hello = service.getHelloSoap11(new AddressingFeature(true, true));
ただし、WS-Addressing ReplyTo/FaultToエンドポイント参照をカスタマイズするサンプルがWebで見つかりません。基本的に、次のようなWSリクエストを作成します(wsa:ReplyTo要素を参照)。
<soapenv:Envelope ...>
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:To soapenv:mustUnderstand="1">http://localhost:8080/poc/helloService/
</wsa:To>
<wsa:ReplyTo>
<wsa:Address>http://mycompany.com/poc/reply</wsa:Address>
<wsa:ReferenceParameters>
<field1 xmlns="http://mycompany.com/poc/cust">some value1</field1>
<field2 xmlns="http://mycompany.com/poc/cust">some value2</field2>
</wsa:ReferenceParameters>
</wsa:ReplyTo>
<wsa:Action>http://mycompany.com/poc/sayHello</wsa:Action>
<wsa:MessageID>urn:uuid:7849b04f-c74e-4836-99e4-8e25d2700fae
</wsa:MessageID>
</soapenv:Header>
<soapenv:Body>
...
</soapenv:Body>
</soapenv:Envelope>
Spring Web Serviceクライアントを使用している場合は、エンドポイント参照を追加できます。ただし、JAX-WSを使用して行う必要があります。何か案は?