3.12.3 EJBをSOAPサービスのエンドポイントとして利用する場合の注意事項
-
SOAPサービスのエンドポイントとして利用できるのは,EJB 2.1までです。EJB 3.0以降は利用できません。
-
ホームインタフェースに引数ありのcreateメソッドは使用できません。引数ありと引数なしのcreateメソッドが存在する場合は,引数なしのcreateメソッドが呼び出されます。引数なしのcreateメソッドがホームインタフェースにない場合は,次のメッセージが返されます。
KDCCP0004-EのC4Fault(SOAP Fault)メッセージ
-
Stateful Session BeanおよびEntity Beanを利用する場合,トランザクション(コンテナ管理トランザクションまたはBean管理トランザクション)の指定に関係なく,クライアントへの応答処理はトランザクションの制御外となります。したがって,トランザクションがロールバックされる場合でも,クライアントへの応答は必ず実行されます。
-
Entity Beanを利用する場合,ファインダメソッド(findByPrimaryKeyなど)は利用できません。
-
SOAPアプリケーションから呼び出すEJBの内容を変更した場合,J2EEアプリケーションのRMI-IIOPインタフェースおよびRMI-IIOPスタブを再取得し,WSDLを再生成する必要があります。ただし,呼び出すEJB内のメソッドの引数の数,データ型,および戻り値に変更がない場合は,再取得する必要はありません。
-
SOAPアプリケーションから呼び出すEJBを実装したEJB-JARファイルと,SOAPアプリケーションのWARファイルを同じJ2EEアプリケーションに含める場合は,J2EEアプリケーションのRMI-IIOPインタフェースおよびRMI-IIOPスタブをSOAPアプリケーションのWARファイルに含めないでください。
-
リモートインタフェースを利用する場合はメソッドのthrows節にjava.rmi.RemoteExceptionを定義しなければなりません。ユーザ定義例外を定義する場合は,「3.6.2 Java例外からWSDLへのマッピング」を参照してください。
-
throws節にjava.rmi.RemoteExceptionを定義していない場合
Java2WSDLコマンドによってKDCCC0228-Wのメッセージが出力され,処理は続行されます。
-
throws節にjava.rmi.RemoteExceptionおよびユーザ定義例外のどちらでもない例外を定義した場合
Java2WSDLコマンドによってKDCCC0229-Wのメッセージが出力されます。この例外はwsdl:fault要素にマッピングされません。
-
-
ローカルインタフェースを利用する場合はメソッドのthrows節にjava.rmi.RemoteExceptionを定義しないでください。ユーザ定義例外を定義する場合は,「3.6.2 Java例外からWSDLへのマッピング」を参照してください。
-
throws節にjava.rmi.RemoteExceptionを定義した場合
Java2WSDLコマンドによってKDCCC0230-Wのメッセージが出力され,処理は続行されます。
-
throws節にユーザ定義例外以外の例外(java.rmi.RemoteExceptionを除く)を定義した場合
Java2WSDLコマンドによってKDCCC0229-Wのメッセージが出力されます。この例外はwsdl:fault要素にマッピングされません。
-