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

2.2.4 CORBA::ORB::resolve_initial_references_remote()

名前

CORBA::ORB::resolve_initial_references_remote

形式

#include <orb_cplus.h>
Object_ptr  CORBA::ORB::resolve_initial_references_remote(
        CORBA::ORB::ObjectId  identifier,
        CORBA::ORB::RemoteModifier& m,
        CORBA::Environment& env);

typedef CORBA::string_var  CORBA_Identifier
typedef CORBA::string_var InitAgentDesignator;
typedef sequence<InitAgentDesignator> RemoteModifier;

機能説明

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

identifierには、以下のものが使用できます。

CORBA::ORB::ObjectId_InterfaceRepository

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

CORBA::ORB::ObjectId_CosNaming

ネーミングサービス

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

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

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

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

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

パラメタ

identifier

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

m

接続先URLのリスト。

env

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

復帰値

正常終了した場合、オブジェクトリファレンスが返されます。
異常終了した場合、envのexceptionメンバにSystemExceptionオブジェクトまたはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。UserException_idには以下の詳細情報が設定されます。

CORBA::ORB::InvalidName

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

SystemExceptionオブジェクトのオブジェクトリファレンスに設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

注意事項

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

使用例

  CORBA::String_var  *URLs;
  CORBA::ORB::RemoteModifier *m;

  URLs = CORBA::ORB::RemoteModifier::allocbuf(2);

  URLs[0] = "iiop://remotehost01:8002";
  URLs[1] = "iiop://remotehost02:8002";

  m = new CORBA::ORB::RemoteModifier(2,2,URLs,CORBA_TRUE);

  CORBA::Object_ptr
    obj = orb->resolve_initial_references_remote(
              CORBA_ORB_ObjectId_NameService, *m, env );