16.2.21 javax.xml.ws.WebFaultアノテーション
javax.xml.ws.WebFaultアノテーションは,戻り値のマッピングをカスタマイズするときに使用できます。
javax.xml.ws.WebFaultアノテーションを使用したカスタマイズ例を次の図に示します。
- 〈この項の構成〉
(1) name要素(javax.xml.ws.WebFault)
name要素は,フォルトbeanからマッピングするグローバル要素のローカル名をカスタマイズするときに使用します。
name要素は半角英数字とアンダースコア(_)で指定します。それ以外の文字を指定した場合の動作は保証されません(エラーメッセージは出力されません)。
(2) targetNamespace要素(javax.xml.ws.WebFault)
targetNamespace要素は,フォルトbeanからマッピングするグローバル要素の名前空間をカスタマイズするときに指定します。
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‒24 名前空間に記述できる文字列の条件(javax.xml.ws.WebFault) 項番
条件
不正な文字列の例
不正な文字列を指定した場合の動作
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
(3) faultBean要素(javax.xml.ws.WebFault)
faultBean要素は,生成するフォルトbeanのクラス名を完全修飾名で指定します。ラッパ例外クラスが,javax.xml.ws.WebFaultアノテーションおよびフォルトbeanを返すgetFaultInfoメソッドを持つ場合,faultBean要素を指定しても,フォルトbeanは生成されません。
faultBean要素を指定するときの注意事項について説明します。
-
faultBean要素は半角英数字とアンダースコア(_)で指定します。それ以外の文字を指定した場合の動作は保証されません(エラーメッセージは出力されません)。
-
Java言語仕様で規定されるJava識別子の命名規則に従った値を指定してください。