16.2.22 javax.xml.ws.WebServiceProviderアノテーション
javax.xml.ws.WebServiceProviderアノテーションは,javax.xml.ws.providerインタフェースを実装するクラスに指定し,プロバイダの要件を満たすクラスがWebサービスのエンドポイントを定義していることを宣言します。
javax.xml.ws.WebServiceProviderアノテーションとjavax.jws.WebServiceアノテーションは,どちらか一方しか指定できません。
javax.xml.ws.WebServiceProviderアノテーションは,Webサービス開始時に参照されるだけです。hwsgenコマンドの実行時には解釈されません。
- 〈この項の構成〉
(1) targetNamespace要素(javax.xml.ws.WebServiceProvider)
targetNamespace要素には,http://またはurn:のプロトコルを名前空間として指定します。指定できる名前空間の形式および文字列を示します。
-
プロトコル
名前空間のプロトコルは,http://またはurn:のプロトコルで記述してください。
-
名前空間の記述形式
名前空間には次に示す形式は記述できません。
-
クエリストリング(例)http://example.com/?a=b
-
アンカー(例)http://example.com/index.html#anchor
-
ポート番号(例)http://example.com:8080/
-
ユーザ名/パスワード(例)http://user:password@example.com
-
-
記述できる文字列
区切り文字のスラッシュ(/)またはピリオド(.)で区切られたセグメントには,次の表に示すすべての条件を満たす文字列を記述できます。
表16‒25 名前空間に記述できる文字列の条件(javax.xml.ws.WebServiceProvider) 項番
条件
不正な文字列の例
不正な文字列を指定した場合の動作
1
半角英数字(0〜9,A〜Z,a〜z)だけを使用した文字列
http://鈴木.com/
http://133.145.224.19/
http://[1080:2C14;D30:BA04:275:806:270C:418A]/
動作は保証されません(エラーメッセージは出力されません)。
2
Javaの予約語でない文字列
http://xxx.com/abstract
動作は保証されません。
3
先頭が数字でない文字列
http://1xxx.com/
(2) serviceName要素(javax.xml.ws.WebServiceProvider)
serviceName要素は半角英数字とアンダースコア(_)で指定します。それ以外の文字を指定した場合の動作は保証されません(エラーメッセージは出力されません)。
(3) portName要素(javax.xml.ws.WebServiceProvider)
portName要素は半角英数字とアンダースコア(_)で指定します。それ以外の文字を指定した場合,動作は保証されません(エラーメッセージは出力されません)。
(4) wsdlLocation要素(javax.xml.ws.WebServiceProvider)
wsdlLocation要素については,「10.6 メタデータの発行」を参照してください。