37.5.6 wsa:Action要素指定時の動作
ここでは,wsa:Action要素の値,およびwsa:Action要素指定時の注意事項について説明します。
- 〈この項の構成〉
(1) wsa:Action要素の値
アドレッシング・ヘッダのwsa:Action要素の値は,次の条件によって変化します。
-
SEIのメソッドにjavax.xml.ws.Actionアノテーションが指定されているか
-
WSDLにwsaw:Action属性が記述されているか
javax.xml.ws.Actionアノテーションおよびwsaw:Action属性と,wsa:Action要素の値の関係を次の表に示します。
項番 |
Actionアノテーション |
wsaw:Action属性 |
wsa:Action要素の値 |
---|---|---|---|
1 |
指定あり |
記述あり |
Actionアノテーションの値 |
2 |
記述なし |
Actionアノテーションの値 |
|
3 |
指定なし |
記述あり |
WSDLのwsaw:Action属性の値 |
4 |
記述なし |
WS-Addressing 1.0仕様で決められているデフォルトのAction値 |
非同期通信の応答用またはフォルト用のWebサービスが使用するアドレッシング・ヘッダのwsa:Action要素の値も,上記のとおりに指定してください。
(2) リクエストメッセージ受信時の注意事項
リクエストメッセージを受信するときの注意事項について説明します。
-
wsa:Action要素の値が,受信したリクエストメッセージのアドレッシング・ヘッダとサービス側のJAX-WSエンジンが使用するアドレッシング・ヘッダで異なる場合,Webサービスの呼び出しに失敗します。Webサービス側のJAX-WSエンジンでエラーが発生し,WS-Addressing 1.0仕様で規定されているサブサブコードであるwsa:ActionNotSupportedを含んだフォルトメッセージが送信されます。
-
受信したリクエストメッセージのアドレッシング・ヘッダのwsa:Action要素の値とSOAPActionの値が異なる場合,エラーが発生します。ただし,SOAPActionの値が空文字("")の場合は,wsa:Action要素の値が空文字以外でもエラーは発生しません。エラーが発生した場合は,Webサービス側のJAX-WSエンジンは,WS-Addressing 1.0仕様で規定されているサブサブコードであるwsa:ActionMismatchを含んだフォルトメッセージを送信します。