Hitachi

Cosminexus V11 アプリケーションサーバ Webサービス開発ガイド


15.1.7 フォルトから例外クラスへのマッピング

WSDLのフォルト(wsdl:fault要素から参照されるwsdl:message要素のname属性)から例外クラスへのマッピングについて説明します。

〈この項の構成〉

(1) マッピング

cjwsimportコマンドを実行すると,WSDLのフォルトは,JAX-WS 2.2仕様に従ってJava型にマッピングされます。マッピング例を次の図に示します。

図15‒9 フォルトと例外クラスのマッピング例

[図データ]

(2) フォルト名の条件

フォルト名には,次の表に示すすべての条件を満たす文字列を記述できます。ただし,バインディング宣言でカスタマイズする場合は,XML Schema仕様のxsd:NCName型として使用できる文字列を記述できます。

表15‒13 フォルト名に記述できる文字列の条件

項番

条件

不正な文字列の例

不正な文字列を指定した場合の動作

1

半角英数字(0〜9,A〜Z,a〜z),およびアンダースコア(_)だけを使用した文字列

鈴木_fault

動作は保証されません(エラーメッセージは出力されません)。

2

先頭が数字以外の文字列

1User_fault

標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。

(3) フォルトから参照されるメッセージのパートの個数

フォルトは,パートが1個だけ記述されているメッセージを参照できます。フォルトから参照されるメッセージのパートの個数と動作を次の表に示します。

表15‒14 フォルトから参照されるメッセージのパートの個数と動作

項番

記述数

動作

1

0個

標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51025-E)。

2

1個

正常終了します。

3

2個以上

標準エラー出力とログにエラーメッセージが出力され,処理が続行されます(KDJW51025-E)。

(4) 同じオペレーションのフォルトから同じメッセージを参照している場合の扱い

異なる複数のオペレーションのフォルトから同じメッセージを参照している場合,すべて同じフォルトとして扱われます。したがって,Javaへマッピングするときに,共通のラッパ例外クラスとしてマッピングされます。その例を次の図に示します。

図15‒10 同じオペレーションのフォルトから同じメッセージを参照している場合のマッピング例

[図データ]

フォルトを記述しているオペレーションと,フォルトから参照されるメッセージの関係を次の表に示します。

表15‒15 フォルトを記述しているオペレーションと参照先のメッセージの関係

項番

フォルトを記述しているオペレーション

フォルトから参照されるメッセージ

フォルトの扱い

1

異なる

同じ

同じフォルトとして扱われます。

2

異なる

別のフォルトとして扱われます。

3

同じ

同じ

標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51026-E)。

4

異なる

別のフォルトとして扱われます。