16.2.8 javax.jws.WebResultアノテーション
javax.jws.WebResultアノテーションは,戻り値のマッピングをカスタマイズするときに使用できます。
javax.jws.WebResultアノテーションを使用したカスタマイズ例を次の図に示します。
- 〈この項の構成〉
(1) header要素(javax.jws.WebResult)
戻り値をヘッダパラメタとしてマッピングする場合,header要素の要素値に"true"を指定します。
header要素は,non-wrapperスタイルで指定できます。
(2) name要素(javax.jws.WebResult)
name要素は,wrapperスタイルの場合,戻り値からマッピングするwrapper要素の子要素の名前をカスタマイズするときに使用します。non-wrapperスタイルの場合,引数からマッピングするグローバル要素のローカル名をカスタマイズするときに使用します。non-wrapperスタイルでpartName要素を指定していない場合,name要素の要素値を指定することで,パート名もカスタマイズできます。
name要素を指定するときの注意事項について説明します。
-
name要素は半角英数字とアンダースコア(_)で指定します。それ以外の文字を指定した場合の動作は保証されません(エラーメッセージは出力されません)。
-
wrapperスタイルの場合,Java言語仕様で規定されるJava識別子の命名規則に従った値を指定してください。Java識別子の命名規則に従っていない場合は,Webサービスクライアントの開発でcjwsimportコマンドを実行するときにコンパイルエラーとなることがあります。
-
引数が254個あるwrapperスタイルのメソッドで,name要素を"return"以外の値にカスタマイズした場合,cjwsimportコマンドの実行時に引数の数が255個になり,コンパイルエラーとなるおそれがあります。
(3) partName要素(javax.jws.WebResult)
partName要素は,パート名のマッピングをカスタマイズするときに指定します。
partName要素を指定するときの注意事項について説明します。
-
partName要素は,non-wrapperスタイルで有効です。wrapperスタイルでpartName要素を指定した場合は無視されます。
-
partName要素とname要素を同時に指定した場合,有効となる要素を次に示します。
-
wrapperスタイルの場合:name要素の値が有効になります。
-
non-wrapperスタイルの場合:partName要素の値が有効になります。
-
-
partName要素は半角英数字とアンダースコア(_)で指定します。それ以外の文字を指定した場合の動作は保証されません(エラーメッセージは出力されません)。
-
non-wrapperスタイルの場合,Java言語仕様で規定されるJava識別子の命名規則に従った値を指定してください。Java識別子の命名規則に従っていない場合は,Webサービスクライアントの開発でcjwsimportコマンドを実行するときにコンパイルエラーとなります。
-
引数が254個あるwrapperスタイルのメソッドで,name要素を"return"以外の値にカスタマイズした場合,cjwsimportコマンドの実行時に引数の数が255個になり,コンパイルエラーとなるおそれがあります。
(4) targetNamespace要素(javax.jws.WebResult)
targetNamespace要素は,戻り値からマッピングするグローバル要素の名前空間をカスタマイズするときに使用します。
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‒15 名前空間に記述できる文字列の条件(javax.jws.WebResult) 項番
条件
不正な文字列の例
不正な文字列を指定した場合の動作
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