ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(CORBAサービス編)
Interstage

8.5.2 ネーミングサービスのオブジェクトリファレンスの獲得

実行するオブジェクトをネーミングサービスから検索するために、ネーミングサービスのオブジェクトリファレンスが必要となります。CORBAインタフェースのオブジェクトリファレンスの取出しメソッドCORBA-ORB-RESOLVE-INITIAL-REFERENCESによりネーミングサービスのオブジェクトリファレンスを取り出します。このとき、CORBA-ORB-OBJECTID-NAMESERVICEをメソッドのパラメタとして指定します。

     DATA DIVISION.
     WORKING-STORAGE SECTION.
     01 COPY COSNAMING-NAMINGCONTEXT IN CORBA REPLACING
             COSNAMING-NAMINGCONTEXT BY COS-NAMING. 

    PROCEDURE DIVISION. 
 * NamingServiceのObjectIDの設定
       MOVE FUNCTION LENG ( CORBA-ORB-OBJECTID-NAMESERVICE ) TO STRING-LENGTH. 
       CALL "CORBA-STRING-SET" USING
             TEMP-BUF
             STRING-LENGTH
             CORBA-ORB-OBJECTID-NAMESERVICE. 
  * NamingServiceのオブジェクトリファレンス獲得
       CALL "CORBA-ORB-RESOLVE-INITIAL-REFERENCES" USING
             ORB
             TEMP-BUF
             ENV
             COS-NAMING. 
  * NAMESERVICEIDに格納した領域を解放します
       CALL "CORBA-FREE" USING TEMP-BUF. 
       MOVE "CORBA-ORB-RESOLVE-INITIAL-REFERENCES" TO MESS. 
       PERFORM ENV-CHECK.