アドレッシング機能を使用する場合,サービス実装クラスに指定するjavax.xml.ws.soap.Addressingアノテーションに設定されている要素の内容によって,リクエストメッセージを受信したときの動作が異なります。javax.xml.ws.soap.Addressingアノテーションと,リクエストメッセージを受信したときの動作の関係を次の表に示します。
表37-1 javax.xml.ws.soap.Addressingアノテーションとリクエストメッセージ受信時の動作
項番 | javax.xml.ws.soap.Addressingアノテーション | リクエストメッセージ受信時の動作 | |||
---|---|---|---|---|---|
アドレッシング・ヘッダ | 通信 | ||||
enabled要素 | required要素 | リクエストメッセージ | レスポンスメッセージ | ||
1 | true | true | ○ | ○ | 成功 |
2 | × | × (フォルトメッセージ) | 失敗 | ||
3 | false | ○ | ○ | 成功 | |
4 | × | × | 成功 | ||
5 | false | true | ○ | × | 成功 |
6 | × | × | 成功 | ||
7 | false | ○ | × | 成功 | |
8 | × | × | 成功 |
サービス実装クラスにjavax.xml.ws.soap.Addressingアノテーションを指定しないと,アドレッシング機能は無効となります。その場合,アドレッシング・ヘッダの有無に関係なく,Webサービスはリクエストメッセージを受信します。また,アドレッシング機能が無効になっているため,受信したリクエストメッセージにアドレッシング・ヘッダが設定されていた場合も,Webサービスはアドレッシング・ヘッダなしのレスポンスメッセージを送信します。また,one-wayオペレーションはレスポンスメッセージが存在しないため,one-wayオペレーションを使用したアドレッシング機能はサポートしていません。one-wayオペレーションでアドレッシング機能を使用した場合の動作は保証されません。