Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
目次 索引 前ページ次ページ

第8章 アプリケーションの開発(OOCOBOL)> 8.2 クライアントアプリケーションのプログラミング(動的起動インタフェース)

8.2.1 初期化

 CORBAの初期化メソッドCORBA-ORB_INITを呼び出し初期化処理を行います。当メソッドの結果として、ORBのオブジェクトリファレンスが返されます。このオブジェクトリファレンスは、以降で呼び出すORBインタフェースを使用する場合に指定します。環境部(ENVIRONMENT DIVISION)およびデータ部(DATA DIVISION)を定義します。
 ここでは、IDLファイル名を"simple.idl"として説明します。IDLコンパイラが出力する登録集ファイル名は、"simple--rep.cbl", "simple--const.cbl","simple--copy.cbl"となります。

 IDENTIFICATION         DIVISION.
 PROGRAM-ID.            "SIMPLE_C"
*
 ENVIRONMENT            DIVISION.
 CONFIGURATION          SECTION.
 REPOSITORY.
* ObjectDirectorの標準登録集(リポジトリ宣言用)
     COPY               CORBA--REP.
* ネーミングサービスの標準登録集(リポジトリ宣言用)
     COPY               COSNAMING--REP.
* インタフェースリポジトリの標準登録集(リポジトリ宣言用)
     COPY               INTERFACEREP--REP.
* IDLコンパイラが出力した登録集(リポジトリ宣言用)
     COPY               SIMPLE--REP.
    .
 SPECIAL-NAMES.
     SYMBOLIC CONSTANT
* ObjectDirectorの標準登録集(定数宣言用)
     COPY               CORBA--CONST.
* ネーミングサービスの標準登録集(定数宣言用)
     COPY               COSNAMING--CONST.
* インタフェースリポジトリの標準登録集(定数宣言用)
     COPY               INTERFACEREP--CONST.
* IDLコンパイラが出力した登録集(定数宣言用)
     COPY               SIMPLE--CONST.
     .
*
 DATA                   DIVISION.
   WORKING-STORAGE        SECTION.
   01 APL-NAME            PIC   X(8)   VALUE     "Simple_c".
   01 EXCEPTION-ID        OBJECT REFERENCE CORBA-STRING.
   01 EXCEPTION-ID-VALUE  PIC    X(50).
   01 API-NAME            PIC    X(50).
   01 ORB                 OBJECT REFERENCE CORBA-ORB.
*
 PROCEDURE DIVISION.
*
 DECLARATIVES.
 ERR SECTION.
     USE EXCEPTION CORBA-EXCEPTION.
     SET EXCEPTION-ID TO IDL-ID OF EXCEPTION-OBJECT AS CORBA-EXCEPTION.
     INVOKE EXCEPTION-ID "GET-VALUE" RETURNING EXCEPTION-ID-VALUE.
     DISPLAY API-NAME " is failed.".
     DISPLAY "Exception-id is " EXCEPTION-ID-VALUE.
     EXIT PROGRAM.
 END-ERR.
 END DECLARATIVES.
*
     INVOKE CORBA "ORB_INIT" USING APL-NAME FJ-OM_ORBID RETURNING ORB.

 例外処理については、“クライアントアプリケーションの例外処理”を参照してください。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005