Interstage Application Server アプリケーション作成ガイド (CORBAサービス編) |
目次
索引
![]() ![]() |
第7章 アプリケーションの開発(OOCOBOL) | > 7.2 クライアントアプリケーションのプログラミング(動的起動インタフェース) |
インタフェースリポジトリには、IDLで定義されたモジュール名、インタフェース名、オペレーション名およびパラメタが階層構造で格納されます。サーバアプリケーションの情報を獲得するため、以下の手順で検索を行います。
インタフェースリポジトリからサーバアプリケーションの情報を獲得するためには、INTERFACEDEFオブジェクトのオブジェクトリファレンスが必要です。CORBA-OBJECT-GET_INTERFACE_DEFメソッドを使用します。
* CORBA-INTERFACEDEFオブジェクトリファレンス取得 INVOKE OBJ "GET_INTERFACE_DEF" RETURNING INTF-OBJ. INVOKE CORBA-INTERFACEDEF "NARROW" USING INTF-OBJ RETURNING INTF.
CORBA-INTERFACEDEF-LOOKUP_NAMEメソッドにより、サーバアプリケーションが複数もっているメソッドから指定されたメソッドをインタフェースリポジトリから検索します。パラメタとしてサーバアプリケーションのメソッド名を指定します。結果として、指定したメソッド情報が格納されているSEQUENCE-CORBA-CONTAINEDオブジェクトのオブジェクトリファレンスが返されます。
* SEQUENCE-CORBA-CONTAINEDオブジェクトリファレンス取得 SET CORBA-DK_OPERATION OF DK-TYPE TO TRUE. INVOKE INTF "LOOKUP_NAME" USING "calculate" -1 DK-TYPE CORBA-FALSE RETURNING CTD-SEQ.
CORBA-CONTAINED-DESCRIBEメソッドにより、サーバアプリケーションがもっているメソッドのパラメタの情報(パラメタの名前、個数、パラメタの型等)をインタフェースリポジトリから検索します。パラメタとして、CORBA-CONTAINED-DESCRIPTIONオブジェクトリファレンスを指定します。
* 指定されたメソッドのパラメタ情報を検索 INVOKE CTD-SEQ "GET-VALUE" USING 1 RETURNING TMP-CTD. INVOKE TMP-CTD "DESCRIBE" RETURNING CTD-DES.
目次
索引
![]() ![]() |