37.2.1 WSDLの拡張要素
Application Serverで使用できるWS-Addressing 1.0仕様のWSDL拡張要素を次に示します。
- 〈この項の構成〉
(1) wsaw:UsingAddressing要素
Webサービスでアドレッシング機能が有効かどうかを示します。
この要素は,wsdl:definitions/wsdl:binding要素,またはwsdl:definitions/wsdl:service/wsdl:port要素の子要素として記述できます。この要素を記述したWebサービスでは,アドレッシング機能が有効になります。
-
wsdl:required属性
リクエストメッセージにアドレッシング・ヘッダが必須かどうかを示します。
この属性に"true"を指定した場合,アドレッシング・ヘッダは必須です。"false"を指定した場合,アドレッシング・ヘッダは任意です。
なお,wsaw:UsingAddressing要素には,子要素または名前空間"http://www.w3.org/2006/05/addressing/wsdl"に属する属性は記述できません。記述した場合,cjwsimportコマンド実行時に標準エラー出力とログにエラーメッセージが出力され,cjwsimportコマンドの処理が終了されます(KDJW51029-E)。
(2) wsaw:Anonymous要素
アドレッシング・ヘッダの応答エンドポイント(wsa:From/wsa:Address要素,wsa:ReplyTo/wsa:Address要素,およびwsa:FaultTo/wsa:Address要素)に匿名URIを使用できるかどうかを示します。
この要素は,wsdl:definitions/wsdl:binding/wsdl:operation要素の子要素として記述できます。指定できる値は次のとおりです。
-
optional
リクエストメッセージの応答エンドポイントに匿名URIを使用するかどうかは任意です。
-
required
リクエストメッセージの応答エンドポイントとして,常に匿名URIを使用する必要があります。
-
prohibited
リクエストメッセージの応答エンドポイントとして,匿名URIを使用してはいけません。
wsaw:Anonymous要素に上記以外の値は設定できません。上記以外の値を設定した場合,cjwsimportコマンド実行時に標準エラー出力とログにエラーメッセージが出力され,cjwsimportコマンドの処理が終了されます(KDJW51029-E)。また,wsaw:Anonymous要素には子要素または名前空間"http://www.w3.org/2006/05/addressing/wsdl"に属する属性は記述できません。記述した場合,cjwsimportコマンド実行時に標準エラー出力とログにエラーメッセージが出力され,cjwsimportコマンドの処理が終了されます(KDJW51029-E)。
なお,Webサービス側のJAX-WSエンジンが発行したWSDLファイルや,hwsgenコマンドで生成したWSDLファイルには,この要素は記述されていません。匿名URIが指定された場合の動作を制御する場合,この要素を記述したWSDLファイルを用意してください。
(3) wsam:Addressing要素
Webサービスでアドレッシング機能が有効かどうかを示します。JAX-WS 2.2仕様(WS-Addressing 1.0 Metadata)では,wsaw:UsingAddressing要素ではなくこの要素を使用します。wsaw:UsingAddressing要素と同時に指定した場合は,どちらかの要素でアドレッシング・ヘッダを必須と指定することで,リクエストメッセージのアドレッシング・ヘッダが必須であることを示します。
この要素は,wsdl:definitions/wsdl:binding要素またはwsdl:definitions/wsdl:service/wsdl:port要素の子要素として記述できます。この要素を記述した場合,この要素での設定が優先されます。
-
wsp:Optional属性
リクエストメッセージにアドレッシング・ヘッダが必須であるかどうかを示します。
この属性がtrueの場合,アドレッシング・ヘッダが任意であることを示します。falseまたはこの属性が省略された場合は,アドレッシング・ヘッダが必須であることを示します。
(4) wsam:AnonymousResponses要素
リクエストメッセージにアドレッシング・ヘッダが含まれる場合,応答エンドポイント(wsa:From/wsa:Address要素,wsa:ReplyTo/wsa:Address要素,wsa:FaultTo/wsa:Address要素)に,匿名URIを指定する必要があることを示します。
この要素は,wsdl:definitions/wsdl:binding/wsam:Addressing/wsp:Policyまたはwsdl:definitions/wsdl:service/wsdl:port/wsam:Addressing/wsp:Policyの子要素として記述できます。
(5) wsam:NonAnonymousResponses要素
リクエストメッセージにアドレッシング・ヘッダが含まれる場合,応答エンドポイント(wsa:From/wsa:Address要素,wsa:ReplyTo/wsa:Address要素,wsa:FaultTo/wsa:Address要素)に,非匿名URIを指定する必要があることを示します。
この要素は,wsdl:definitions/wsdl:binding/wsam:Addressing/wsp:Policyまたはwsdl:definitions/wsdl:service/wsdl:port/wsam:Addressing/wsp:Policyの子要素として記述できます。
(6) WSDL拡張要素の注意事項
WSDL拡張要素の内,次に示す要素を使用する場合の注意事項を説明します。
-
wsaw:Anonymous要素
サービス側JAX-WSエンジンが発行するWSDLファイルやhwsgenコマンドが生成するWSDLファイルには,この要素は現れません。この要素を使用して匿名URIが指定された場合の動作を制御するためには,この要素を記述したWSDLファイルを用意する必要があります。