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

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

7.1.3 サーバアプリケーションのオブジェクトリファレンスの獲得

 ネーミングサービスのメソッドCOSNAMING-NAMINGCONTEXT-RESOLVEにより、これから実行したいサーバアプリケーションのオブジェクトリファレンスを取り出します。検索したいオブジェクト名を当メソッドのパラメタとして指定します。

     DATA DIVISION.
     WORKING-STORAGE SECTION.
     01 STR-BUF PIC X(30). 
     01 COPY COSNAMING-NAME IN CORBA REPLACING COSNAMING-NAME BY NAME. 
     01 NAME-A USAGE POINTER. 
     01 COPY COSNAMING-NAMECOMPONENT IN CORBA REPLACING
             COSNAMING-NAMECOMPONENT BY NAME-COMPONENT. 
     01 NAME-COMPONENT-A USAGE POINTER. 
     01 COPY OBJECT IN CORBA REPLACING CORBA-OBJECT BY OBJ. 

    PROCEDURE DIVISION. 
  * オブジェクト名
       MOVE FUNCTION LENG (STR-BUF) TO STRING-LENGTH. 
       MOVE "ODdemo::calculator" TO STR-BUF. 
       CALL "CORBA-STRING-SET" USING
             IDL-ID OF NAME-COMPONENT
             STRING-LENGTH
             STR-BUF. 
  * オブジェクトのタイプ
       MOVE " " TO STR-BUF. 
       CALL "CORBA-STRING-SET" USING
             KIND OF NAME-COMPONENT
             STRING-LENGTH
             STR-BUF. 
  * オブジェクト名の数
       MOVE 1 TO SEQ-LENGTH OF NAME. 
       MOVE 1 TO SEQ-MAXIMUM OF NAME. 
  * Sequenceの要素数
       MOVE 1 TO NUM. 
  *  CosNamingのアクセス情報格納用のSequence領域獲得
       CALL "CORBA-SEQUENCE-COSNAMING-NAMECOMPONENT-ALLOCBUF" USING
             SEQ-MAXIMUM OF NAME
             SEQ-BUFFER OF NAME. 
       MOVE FUNCTION ADDR ( NAME ) TO NAME-A. 
       MOVE FUNCTION ADDR ( NAME-COMPONENT ) TO NAME-COMPONENT-A. 
  * CosNamingの要素設定
       CALL "CORBA-SEQUENCE-ELEMENT-SET" USING
             NAME-A
             NUM
             NAME-COMPONENT-A. 
  *  サーバアプリケーションのオブジェクトリファレンスを獲得 
       CALL "COSNAMING-NAMINGCONTEXT-RESOLVE" USING
                COS-NAMING
                NAME
                ENV
                OBJ. 
       MOVE "COSNAMING-NAMINGCONTEXT-RESOLVE" TO MESS. 
       PERFORM ENV-CHECK.

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

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