| Interstage Application Server J2EE ユーザーズガイド |
目次
索引
![]()
|
| 第3部 EJB編 | > 第22章 Java以外の言語からの呼出しの場合 | > 22.2 EJBゲートウェイ・アプリケーションの機能 | > 22.2.2 EJB-CORBA変換機能 |
EJBのメソッドの復帰値は、Javaにおけるオブジェクトです。CORBAクライアントアプリケーションでは、このJavaオブジェクトを受け取ることができません。このため、CORBAクライアントアプリケーションに復帰値を返すためには、EJBゲートウェイ・アプリケーションでJavaオブジェクトを受け取り、CORBAのオブジェクトに変換して返却してください。
EJBのメソッドの引数にJavaオブジェクトが指定されていた場合には、EJBゲートウェイ・アプリケーションでCORBAオブジェクトを受け取り、Javaオブジェクトに変換して受け渡してください。以下に復帰値の変換の例を示します。
メソッドの復帰値の型がVectorであるメソッド定義の例を以下に示します。
---------------------------------------------------------------------------------------------
public interface SampleBMPSessionRemote extends javax.ejb.EJBObject
{
public Vector MultipleFindRecords() throws java.rmi.RemoteException;
}
---------------------------------------------------------------------------------------------
Vectorに対して、IDLで定義するresultSet型として定義した例を以下に示します。
---------------------------------------------------------------------------------------------
interface SampleBMPSession
{
resultSet MultipleFindRecords() raises (ejbException);
};
---------------------------------------------------------------------------------------------
IDLでのresultSet定義の例を以下に示します。ただし、EJBで返却されるVectorオブジェクトは、文字列の配列を要素とします。IDLでは2つの文字列をメンバとして持つ構造体とその構造体のシーケンスとして定義します。
---------------------------------------------------------------------------------------------
struct result {
string id;
string name;
};
typedef sequence<result> resultSet;
---------------------------------------------------------------------------------------------
オブジェクトの変換処理の例を以下に示します。EJBから送出されたVectorオブジェクトを受け取り、IDLで定義したresultの配列を返却します。
IDLのJavaへのマッピングの詳細については、“アプリケーションの開発(Java言語)”を参照してください。
---------------------------------------------------------------------------------------------
public result[] Vector2ResultSet(int lines, Vector vecSearchResult) {
result[] retval = null;
retval = new result[lines];
for ( int i = 0; i < lines; i++ ) {
String[] vecData = (String[])vecSearchResult.elementAt(i);
retval[i] = new result(vecData[0], vecData[1]);
}
return retval;
}
---------------------------------------------------------------------------------------------
目次
索引
![]()
|