名前
org.omg.CORBA.ORB.string_to_object
形式
public org.omg.CORBA.Object string_to_object( java.lang.String str )
機能説明
object_to_string()によって生成されたStringオブジェクトを元にオブジェクトリファレンスを取得します。“アプリケーション作成ガイド(CORBAサービス編)”の“corbaloc URLスキーマ”に記述されているすべての形式の文字列を指定できます。ただし、文字列に日本語を含むことはできません。
パラメタ
オブジェクトリファレンスを取得するためのStringオブジェクト。
復帰値
正常終了した場合は、取得したオブジェクトリファレンスを持つorg.omg.CORBA.Objectオブジェクトが返されます。
異常終了した場合は、以下の例外が発生します。
指定されたURLスキーマの形式に誤りがあります。
Singleton ORBから使用されています。
IIOPサービス(Java EEクライアント)機能を使用している場合に発生します。
その他の要因。
システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
IIOPサービス(Java EEクライアント)機能を使用している場合は、“メッセージ集”の“Java EE使用時に出力される例外情報”も合わせて参照してください。
備考
strにはobject_to_string()によって取得できる“IOR:”で始まる形式の文字列の他、“cobaloc”や“corbaname”で始まる形式の文字列も指定が可能です。詳細は“アプリケーション作成ガイド(CORBAサービス編)”の“URLスキーマ”を参照してください。
なお、URLスキーマを指定した場合、URL内に指定したホストと通信を行ってオブジェクトリファレンスを取得します。この際、ホストの名前解決が必要な場合があります。
注意事項
本メソッドは、Singleton ORBから使用することはできません。詳細については、“3.1.1 org.omg.CORBA.ORB.init()”の注意事項を参照してください。
使用例
URLスキーマを使用するサンプル
import org.omg.CORBA.*;
import org.omg.CosNaming.*;
import test1.*;
public static void main( String args[] )
{
ORB Orb;
org.omg.CORBA.Object obj_ns, obj_sv, obj_sv2;
NamingContextExt Cos;
intf1 target1, target2;
Orb = ORB.init( args, null );
String NCid = new String( "test1::intf1" );
String NCkind = new String( "" );
NameComponent nc = new NameComponent( NCid, NCkind );
NameComponent NCo[] = { nc };
obj_ns = Orb.string_to_object( "corbaloc::nshost:8002/NameService" );
Cos = NamingContextExtHelper.narrow( obj_ns );
obj_sv = Cos.resolve( NCo );
target1 = intf1Helper.narrow( obj_sv );
target1.add( 1, 2 );
obj_sv2 = Orb.string_to_object( "corbaname::nshost:8002/NameService#test1::intf1" );
target2 = intf1Helper.narrow( obj_sv2 );
target2.add( 1, 2 );
}
|