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

|
7.1.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.
* IDLコンパイラが出力した登録集(リポジトリ宣言用)
COPY SIMPLE--REP.
.
SPECIAL-NAMES.
SYMBOLIC CONSTANT
* ObjectDirectorの標準登録集(定数宣言用)
COPY CORBA--CONST.
* ネーミングサービスの標準登録集(定数宣言用)
COPY COSNAMING--CONST.
* IDLコンパイラが出力した登録集(定数宣言用)
COPY SIMPLE--CONST.
.
*
DATA DIVISION.
WORKING-STORAGE SECTION.
* ObjectDirectorの標準登録集(データ型宣言用)
COPY CORBA--COPY.
* ネーミングサービスの標準登録集(データ型宣言用)
COPY COSNAMING--COPY.
* IDLコンパイラが出力した登録集(データ型宣言用)
COPY SIMPLE--COPY.
*
01 ORB USAGE OBJECT REFERENCE CORBA-ORB.
01 OBJ USAGE OBJECT REFERENCE CORBA-OBJECT.
01 NAMING-CONTEXT USAGE OBJECT REFERENCE COSNAMING-NAMINGCONTEXT.
01 NAME TYPE COSNAMING-NAME.
01 NAME-COMPONENT USAGE OBJECT REFERENCE COSNAMING-NAMECOMPONENT.
01 NAME-ID USAGE OBJECT REFERENCE CORBA-STRING.
01 NAME-KIND USAGE OBJECT REFERENCE CORBA-STRING.
*
01 EXCEPTION-ID USAGE OBJECT REFERENCE CORBA-STRING.
01 EXCEPTION-ID-VALUE PIC X(50).
01 API-NAME PIC X(50).
*
01 TARGET-OBJ USAGE OBJECT REFERENCE ODDEMO-CALCULATOR.
01 RESULT TYPE ODDEMO-CALCULATOR-RESULT.
01 PARAM-A TYPE CORBA-LONG.
01 PARAM-B TYPE CORBA-LONG.
*
PROCEDURE DIVISION.
*
DECLARATIVES.
*
ZEROPARAM-ERR SECTION.
USE EXCEPTION ODDEMO-CALCULATOR-ZEROPARAM.
DISPLAY "ZEROPARAM Exception: " API-NAME.
EXIT PROGRAM.
END-ZEROPARAM-ERR.
*
OTHER-ERROR SECTION.
USE EXCEPTION CORBA-EXCEPTION.
DISPLAY "CORBA::UserException: " API-NAME.
SET EXCEPTION-ID TO IDL-ID OF EXCEPTION-OBJECT AS CORBA-EXCEPTION.
INVOKE EXCEPTION-ID "GET-VALUE" RETURNING EXCEPTION-ID-VALUE.
DISPLAY " Exception-id: " EXCEPTION-ID-VALUE.
EXIT PROGRAM.
END-OTHER-ERR.
*
END DECLARATIVES.
*
MAIN SECTION.
*
MOVE "CORBA::ORB_init" TO API-NAME.
INVOKE CORBA "ORB_INIT"
USING "SIMPLE_C"
FJ-OM_ORBID
RETURNING ORB.
例外処理については、“クライアントアプリケーションの例外処理”を参照してください。
Copyright 2005 FUJITSU LIMITED