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

|
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.
Copyright 2006 FUJITSU LIMITED