javax.jws.WebServiceアノテーションは,SEIおよびWebサービス実装クラスに必須です。
javax.jws.WebServiceアノテーションを使用したカスタマイズ例を次の図に示します。
図16-17 javax.jws.WebServiceアノテーションを使用したカスタマイズ例
なお,javax.xml.ws.WebServiceProviderアノテーションとjavax.jws.WebServiceアノテーションは,どちらか一方しか指定できません。javax.xml.ws.WebServiceProviderアノテーションとjavax.jws.WebServiceアノテーションを同時に指定した場合は,標準エラー出力とログにエラーメッセージが出力されます(KDJW61098-E)。
SEIでtargetNamespace要素を指定した場合,指定した名前空間は,types要素,message要素,およびportType要素に対して有効です。
Webサービス実装クラスでこの要素を指定した場合,指定した名前空間は,binding要素およびservice要素に対して有効です。Webサービス実装クラスで,javax.jws.WebServiceアノテーションのendpointInterface要素を使用しない場合,暗黙のSEIとWebサービス実装クラスの両方に同じ名前空間を指定したものと見なされます。
targetNamespace要素には,http://またはurn:のプロトコルを名前空間として指定します。指定できる名前空間の形式および文字列を示します。
表16-16 名前空間に記述できる文字列の条件(javax.jws.WebService)
項番 | 条件 | 不正な文字列の例 | 不正な文字列を指定した場合の動作 |
---|---|---|---|
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 |
endpointInterface要素を指定するときの注意事項について説明します。
name要素は,ポートタイプ名のマッピングをカスタマイズするときに指定します。name要素に要素値を指定すると,ポートタイプ名をマッピングのデフォルト値に持つすべての要素もカスタマイズできます。
name要素を指定するときの注意事項について説明します。
serviceName要素は,サービス名のマッピングをカスタマイズするときに指定します。
serviceName要素を指定するときの注意事項について説明します。
portName要素は,ポート名のマッピングをカスタマイズするときに指定します。
wsdlLocation要素は,Webサービスの呼び出しで参照される値になるため,cjaptコマンドまたはcjwsgenコマンドの実行時には解釈されません。