ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)

1.1.4 CORBA_ORB_resolve_initial_references_remote()

名前

  CORBA_ORB_resolve_initial_references_remote

形式

  #include <orb.h>

  CORBA_Object  CORBA_ORB_resolve_initial_references_remote(
        CORBA_ORB  orb,
        CORBA_ORB_ObjectId  identifier,
        CORBA_ORB_RemoteModifier *m,
        CORBA_Environment *env );

  typedef CORBA_string  CORBA_Identifier;
  typedef CORBA_string InitAgentDesignator;
  typedef sequence<InitAgentDesignator> RemoteModifier;

機能説明

  identifierで指定されたオブジェクトのオブジェクトリファレンスを返します。オブジェクトリファレンスは、URL形式でmに定義されたホストのinitial_servicesを検索して獲得します。
  identifierには、以下のものが使用できます。

  CORBA_ORB_ObjectId_InterfaceRepository

  インタフェースリポジトリ(動的スケルトンンインタフェース)

  CORBA_ORB_ObjectId_NameService

  ネーミングサービス

  mには複数のURLを指定することが可能です。この場合、指定された順に検索を行い、オブジェクトリファレンスが見つかった時点で検索は打ち切られます。

  URLの指定形式を以下に示します。

  iiop://<address>[:<port>]

  <address>には ホスト名、DNS名、IPアドレスを指定することが可能です。省略はできません。
  <port>には接続先ORBのポート番号を指定します。
  なお、IPv6形式のアドレスを指定することはできません。

  本関数はオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_Object_release()を使用して領域を解放する必要があります。

パラメタ

  orb

  CORBA_ORB_init()によって獲得したORBのオブジェクトリファレンス。

  identifier

  イニシャルリファレンスの識別子。

  m

  接続先URLのリスト。

  env

  例外情報が格納される構造体。

復帰値

  正常終了した場合は、オブジェクトリファレンスが返されます。
  異常終了した場合は、env構造体に例外情報が設定されます。
  CORBA_USER_EXCEPTIONが発生した場合は、env構造体の_idに以下の詳細情報が設定されます。

  IDL:CORBA/ORB/InvalidName:1.0

  identifierに指定されたオブジェクトが見つかりません。

注意事項

  GS等、Interstage Application Server以外のORB製品に対して本関数を使用することはできません。

使用例

  CORBA_string  URLs[2];
  CORBA_ORB_RemoteModifier m;

  m._length = m._maximum = 2;
  m._buffer = URLs;

  URLs[1] = "iiop://remotehost01:8002";
  URLs[0] = "iiop://remotehost02:8002";
    
  cos_naming = CORBA_ORB_resolve_initial_references_remote(
                   orb,
                   CORBA_ORB_ObjectId_NameService,
                   &m,
                   &env);