Cosminexus アプリケーションサーバ V8 Webサービス開発の手引

[目次][用語][索引][前へ][次へ]

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

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

<この項の構成>
(1) マッピング
(2) フォルト名の条件
(3) フォルトから参照されるメッセージのパートの個数
(4) 同じオペレーションのフォルトから同じメッセージを参照している場合の扱い

(1) マッピング

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

図12-7 フォルトと例外クラスのマッピング例

[図データ]

(2) フォルト名の条件

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

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

項番 条件 不正な文字列の例 不正な文字列を指定した場合の動作
1 半角英数字(0〜9,A〜Z,a〜z),およびアンダースコア(_)だけを使用した文字列 日立_fault 動作は保証されません(エラーメッセージは表示されません)。
2 先頭が数字以外の文字列 1User_fault 標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。

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

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

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

項番 記述数 動作
1 0個 標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51025-E)。
2 1個 正常終了します。
3 2個以上 標準エラー出力とログにエラーメッセージが出力され,処理が続行されます(KDJW51025-E)。

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

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

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

[図データ]

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

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

項番 フォルトを記述しているオペレーション フォルトから参照されるメッセージ フォルトの扱い
1 異なる 同じ 同じフォルトとして扱われます。
2 異なる 別のフォルトとして扱われます。
3 同じ 同じ 標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51026-E)。
4 異なる 別のフォルトとして扱われます。