我正在使用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 );

}


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

最佳答案

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

关于java - jacorb中的InvalidName异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14872811/

10-09 19:39