Interstage Application Server J2EE ユーザーズガイド |
目次
索引
![]() ![]() |
第3部 EJB編 | > 第22章 Java以外の言語からの呼出しの場合 | > 22.2 EJBゲートウェイ・アプリケーションの機能 | > 22.2.2 EJB-CORBA変換機能 |
EJBで送出した例外は、CORBAクライアントアプリケーションではCORBAにおけるUNKNOWN例外として通知されます。このため、CORBAクライアントアプリケーションに例外情報を通知するには、EJBゲートウェイ・アプリケーションでEJBが送出した例外を、CORBAの例外に変換して送出してください。
ビジネスメソッド定義の例を以下に示します。メソッド定義のthrows句で記述された例外を送出します。
---------------------------------------------------------------------------------------------
public interface SampleBMPSessionRemote extends javax.ejb.EJBObject { public int MultipleAddRecords() throws java.rmi.RemoteException; }
---------------------------------------------------------------------------------------------
ビジネスメソッド定義の例を以下に示します。メソッド定義のraises句で記述された例外を送出します。
---------------------------------------------------------------------------------------------
interface SampleBMPSession { long MultipleAddRecords() raises (ejbException); };
---------------------------------------------------------------------------------------------
IDLでの例外オブジェクト定義の例を以下に示します。exceptionで例外オブジェクトを定義します。
---------------------------------------------------------------------------------------------
exception ejbException { string reason; };
---------------------------------------------------------------------------------------------
例外の変換処理の例を以下に示します。EJBから送出された例外を受け取り、IDLで定義した例外ejbExceptionを送出します。
---------------------------------------------------------------------------------------------
public int MultipleAddRecords() throws EJBGateway.ejbException { int retval = 0; try { retval = r.MultipleAddRecords(); } catch (Throwable e) { throw new ejbException(e.getMessage()); } return retval; }
---------------------------------------------------------------------------------------------
上記の例では、Javaのすべてのエラーと例外のスーパークラスであるThrowable型を用いています。アプリケーションの要件に応じて適切な例外型によるハンドラを記述してください。
目次
索引
![]() ![]() |