3.6.2 Java例外からWSDLへのマッピング

Java2WSDLコマンドによって,Java例外に対応するWSDLを生成できます。Java例外とWSDLのマッピングを次の図に示します。

図3-28 Java例外とWSDLのマッピング(Java2WSDLコマンド実行時)

[図データ]

Java例外のうち,ユーザ定義例外がWSDL Fault(wsdl:fault要素)にマッピングされます。そのほかのJava例外については,マッピングされません。

<この項の構成>
(1) ユーザ定義例外の定義
(2) リモートインタフェースの定義

(1) ユーザ定義例外の定義

ユーザ定義例外は,ユーザ定義のデータ型クラスと同様に作成します。ユーザ定義のデータ型クラスの作成方法については,「4.1.2 Javaインタフェースを作成する」および「4.2.1 SOAPアプリケーションを設計する」を参照してください。ただし,ユーザ定義例外はjava.lang.Exception,またはほかのユーザ定義例外を直接継承しなければなりません。

java.lang.Exceptionを除くほかのJava標準例外※1,およびCosminexusの実装クラス※2をスーパークラスとして利用することはできません。

java.sql.SQLExceptionのように直接java.lang.Exceptionを継承している場合でも,Java標準例外※1,およびCosminexusの実装クラス※2自体をユーザ定義例外として利用することはできません。

注※1
J2SE 5.0仕様に対応した次のパッケージ名で始まるクラスは利用できません。
  • java
  • javax
  • org.ietf
  • org.omg
  • org.w3c
  • org.xml
注※2
Cosminexusが提供する次のパッケージ名で始まるクラスは利用できません。
  • com.cosminexus.c4web
  • com.cosminexus.cws
  • com.cosminexus.xml
  • com.cosminexus.wss
  • org.apache.axis
  • org.apache.commons.discovery
  • com.ibm.wsdl

なお,既存のJavaクラスおよびEJBを利用する場合も,ここで示した内容に従って定義する必要があります。

(2) リモートインタフェースの定義

メソッドのthrows節にユーザ定義例外を定義します。リモートインタフェースの例については,「4.1.2 Javaインタフェースを作成する」を参照してください。