2

我正在使用 Jacorb 进行 corba 实现。我已经在端口 900 上启动了 NS。当我尝试启动服务器时,出现以下异常

D:\eclipse_workspace\WorkSpace\corba\bin>jaco  hello.MyServer -DORBInitRef.NameService=jacorb::localhost:900
org.jacorb.orb.ORB
Feb 14, 2013 4:00:07 PM org.jacorb.config.JacORBConfiguration <init>
WARNING: no properties found for configuration jacorb
Feb 14, 2013 4:00:07 PM org.jacorb.orb.ORBSingleton <init>
INFO: created ORBSingleton
Exception in thread "main" org.omg.CORBA.ORBPackage.InvalidName:    IDL:omg.org/CORBA/ORB/InvalidName:1.0
    at org.jacorb.orb.ORB.resolve_initial_references(ORB.java:1371)
    at hello.MyServer.main(MyServer.java:15)

代码如下

public static void main(String[] args) throws Exception{
    Properties props = new Properties();
    props.setProperty("ORBInitRef","NameService=jacorb::localhost:900");
    System.out.println(System.getProperty("org.omg.CORBA.ORBClass"));
    org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, props);

    org.omg.CORBA.Object o = orb.resolve_initial_references("NameService");
    NamingContextExt nc = NamingContextExtHelper.narrow( o );

}

有人可以告诉这里有什么问题吗?

4

1 回答 1

4

NameService 引用必须是对包含 IOR 的文件的引用,例如,file://tmp/NS_Ref或 URL,例如,http://www.testme.not/NS_Ref或者只是一个 corbaloc/corbaname URL,例如,corbaloc:iiop:1.2@host1:3075/NameService

最后一种是最常见的。例如,您可以将其缩短为corbaloc::localhost:900/NameService

有关 corbaloc 的更多信息,请访问 http://www.ciaranmchale.com/corba-explained-simply/the-corbaloc-and-corbaname-urls.html

于 2013-02-15T21:34:00.603 回答