16.2.16 javax.xml.ws.RequestWrapperアノテーション
javax.xml.ws.RequestWrapperアノテーションは,wrapperスタイルで指定できます。
javax.xml.ws.RequestWrapperアノテーションはSEIで指定するアノテーションです。
javax.xml.ws.RequestWrapperアノテーションを使用したカスタマイズ例を次の図に示します。
- 〈この項の構成〉
(1) localName要素(javax.xml.ws.RequestWrapper)
localName要素は,リクエストwrapper要素のローカル名のマッピングをカスタマイズするときに指定します。localName要素に要素値を指定した場合,wrapper要素の型名もカスタマイズできます。
localName要素を指定するときの注意事項について説明します。
-
localName要素は半角英数字とアンダースコア(_)で指定します。それ以外の文字を指定した場合の動作は保証されません(エラーメッセージは出力されません)。
-
localName要素とオペレーション名は同じ名前にしてください。ただし,javax.xml.ws.RequestWrapperアノテーションが存在しない場合,またはjavax.xml.ws.RequestWrapperアノテーションのlocalName要素に空文字("")が指定されている場合,同一かどうかの比較処理は行われません。
(2) targetNamespace要素(javax.xml.ws.RequestWrapper)
targetNamespace要素は,リクエストwrapper要素の名前空間のマッピングをカスタマイズするときに指定します。
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
-
-
記述できる文字列
区切り文字のスラッシュ(/)またはピリオド(.)で区切られたセグメントには,次の表に示すすべての条件を満たす文字列を記述できます。ただし,バインディング宣言でカスタマイズする場合は,XML Schema仕様のxsd:NCName型として使用できる文字列を記述できます。
表16‒21 名前空間に記述できる文字列の条件(javax.xml.ws.RequestWrapper) 項番
条件
不正な文字列の例
不正な文字列を指定した場合の動作
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