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

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

7.2.1 初期化

 CORBAの初期化メソッドCORBA-ORB-INITを呼び出し初期化処理を行います。当メソッドの結果として、ORBのオブジェクトリファレンスが返されます。このオブジェクトリファレンスは、以降で呼び出すORBインタフェースを使用する場合に指定します。

  IDENTIFICATION DIVISION. 
     PROGRAM-ID. "CLIENT-MAIN".
     AUTHOR. OD/IDLCOMPILER VER.2.0. 
     INSTALLATION. IDL FILE NAME IS COBSAMPLE.IDL. 
     SECURITY. THIS SOURCE CODE WAS GENERATED BASE ON YOUR IDL FILE. 
               WHEN THIS STUB/SKELETON SOURCE CODE IS CHANGED, THE OPERATION. 
               GURANTEED IS NOT DONE. 
     DATE-WRITTEN. TUE MAY  6 11:03:40 1997
  *
     ENVIRONMENT DIVISION. 
     CONFIGURATION SECTION. 
     SPECIAL-NAMES. 
         ARGUMENT-NUMBER   IS ARG-C
         ARGUMENT-VALUE    IS ARG-V
         SYMBOLIC CONSTANT
         COPY SYMBOL-CONST IN        CORBA. 
         . 
  *
     DATA DIVISION. 
  *
     WORKING-STORAGE SECTION.
     COPY CONST IN CORBA.
     01 COPY ULONG IN CORBA REPLACING CORBA-UNSIGNED-LONG BY CURRENT-ARG-C. 
     01 CURRENT-ARG-V. 
        02 FILLER OCCURS 6. 
           03 CURRENT-ARG-V-VALUE USAGE POINTER. 
     01 COPY LONG IN CORBA REPLACING CORBA-LONG BY ARG-COUNT. 
     01 APLI-NAME PIC X(8) VALUE "simple_c".
     01 TMP-STRING-BUF PIC X(20). 
     01 COPY ULONG IN CORBA REPLACING CORBA-UNSIGNED-LONG BY STRING-LENGTH. 
     01 TEMP-BUF USAGE POINTER. 
     01 MESS PIC X(30). 
     01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV. 
     01 COPY ORB IN CORBA REPLACING CORBA-ORB BY ORB.
     01 COPY BOA IN CORBA REPLACING CORBA-BOA BY BOA.
*
     PROCEDURE DIVISION. 
     MAIN. 
  * ObjectDirectorのObjectIDを設定
         DISPLAY "CLIENT START!!". 
  * argument set : CURRENT-ARG-V-VALUE
         ACCEPT CURRENT-ARG-C FROM ARG-C. 
         COMPUTE CURRENT-ARG-C = CURRENT-ARG-C + 1. 
         PERFORM VARYING ARG-COUNT FROM 1 BY 1 UNTIL ARG-COUNT > CURRENT-ARG-C
            IF ARG-COUNT = 1
               MOVE APLI-NAME TO TMP-STRING-BUF
            ELSE
               ACCEPT TMP-STRING-BUF FROM ARG-V
            END-IF
            MOVE FUNCTION LENG (TMP-STRING-BUF) TO STRING-LENGTH
            CALL "CORBA-STRING-SET" USING
                  CURRENT-ARG-V-VALUE (ARG-COUNT) 
                  STRING-LENGTH
                  TMP-STRING-BUF
         END-PERFORM. 
         SET CURRENT-ARG-V-VALUE (ARG-COUNT) TO NULL. 
  * ObjectDirector初期化
         MOVE  12 TO STRING-LENGTH. 
         CALL  "CORBA-STRING-SET" USING
               TEMP-BUF
               STRING-LENGTH
               FJ-OM-ORB-ID. 
         CALL "CORBA-ORB-INIT" USING
               CURRENT-ARG-C
               CURRENT-ARG-V
               TEMP-BUF
               ENV
               ORB. 
  * ORBIDに格納した領域を解放する
         CALL "CORBA-FREE" USING TEMP-BUF. 
         MOVE "CORBA-ORB-INIT" TO MESS. 
         PERFORM ENV-CHECK

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


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

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