19.3.1 javax.xml.ws.WebServiceRefアノテーション
javax.xml.ws.WebServiceRefアノテーション要素とサポート範囲を次の表に示します。
項番 |
アノテーション |
サポート |
|
---|---|---|---|
アノテーション名 |
要素名 |
||
1 |
javax.xml.ws.WebServiceRef |
lookup |
× |
2 |
mappedName |
× |
|
3 |
name |
× |
|
4 |
type |
× |
|
5 |
value |
○ |
|
6 |
wsdlLocation |
○ |
要素ごとのサポート範囲について説明します。
(1) value要素(javax.xml.ws.WebServiceRef)
value要素は,javax.xml.ws.Serviceを継承するサービスクラスを指定します。
サービスクラス型のフィールドまたはメソッドに対してjavax.xml.ws.WebServiceRefアノテーションを指定した場合は,value要素を指定できません。指定した場合の動作は保証されません。
ポート型のフィールドまたはメソッドに対してjavax.xml.ws.WebServiceRefアノテーションを指定した場合は,必ず指定します。指定しない場合の動作は保証されません。
(2) wsdlLocation要素(javax.xml.ws.WebServiceRef)
wsdlLocation要素は,WebサービスのWSDL文書の位置を指定します。
指定できる方法を次に示します。
-
URL
WSDL文書のURLを指定します。指定形式はjava.net.URLクラスの仕様に従います。プロトコルはhttpとhttpsだけ指定できます。そのほかのプロトコルは指定できません。
-
相対パス
WARファイルまたはEJB JARファイル内のWSDL文書を,次のように相対パスで指定します。なお,RFC 2396仕様の規則に従った文字列を指定できます。
-
javax.xml.ws.WebServiceRefアノテーションを指定したWebサービスクライアントをWARファイルに格納する場合は,WEB-INFで始まる相対パスを指定します。WSDL文書はそのWARファイル内の指定したパスに格納します。
-
javax.xml.ws.WebServiceRefアノテーションを指定したWebサービスクライアントをEJB JARファイルに格納する場合は,META-INFで始まる相対パスを指定します。WSDL文書はそのEJB JARファイル内の指定したパスに格納します。
-
-
絶対パス
WSDL文書の絶対パスを指定します。システムに依存する絶対パスで指定してください。指定形式はjava.io.Fileクラスの仕様に従います。
wsdlLocation要素を指定するときの注意事項について説明します。
-
Webサービスクライアントのインスタンス生成時に,wsdlLocation要素に指定された値を使用してサービスクラスを生成し,サービスクラスやポートのインジェクトを行います。このため,wsdlLocation要素にはインスタンス生成時に有効なWSDL文書の位置を指定する必要があります。存在しないWSDLや不正な内容のWSDLロケーションを指定した場合は,サービスクラスやポートのインジェクションを行わないため,フィールドの値やsetterメソッドの戻り値はnullのままとなります。
-
wsdlLocation要素を指定しない場合は,サービスクラスのデフォルトコンストラクタと同様に,サービスクラスに指定されたjavax.xml.ws.WebServiceClientアノテーションのwsdlLocation要素の値を使用して,サービスクラスまたはポートのインスタンスを生成します。