Java Corba NamingContextStub.resolve将找不到对象绑定我做错了什么?

Java Corba NamingContextStub.resolve将找不到对象绑定我做错了什么?,java,corba,Java,Corba,第一次在这里问问题,如果太愚蠢或太简单,请道歉。 我正在学习CORBA,我正在编写一个使用对象和上下文绑定的简单客户机-服务器应用程序,但我在尝试解决对象绑定时遇到了这个错误,有人能告诉我我做错了什么吗 IDL:omg.org/CosNaming/NamingContext/NotFound:1.0 at org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read(Unknown Source) at or

第一次在这里问问题,如果太愚蠢或太简单,请道歉。 我正在学习CORBA,我正在编写一个使用对象和上下文绑定的简单客户机-服务器应用程序,但我在尝试解决对象绑定时遇到了这个错误,有人能告诉我我做错了什么吗

IDL:omg.org/CosNaming/NamingContext/NotFound:1.0
        at org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read(Unknown Source)
        at org.omg.CosNaming._NamingContextExtStub.resolve(Unknown Source)
        at MyHelloClient.main(MyHelloClient.java:60)
服务器代码:

        org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");

        NamingContext rootCtx = NamingContextHelper.narrow(objRef);

        nc[0] = new NameComponent("Alpha", "Context");
        NamingContext alphaCtx = rootCtx.bind_new_context(nc);

        nc[0] = new NameComponent("Delta", "Context");
        NamingContext deltaCtx = alphaCtx.bind_new_context(nc);

        nc[0] = new NameComponent("Iota", "Context");
        NamingContext iotaCtx = deltaCtx.bind_new_context(nc);

        nc[0] = new NameComponent("IServ", "Object");
        deltaCtx.bind(nc, iServ);
客户端代码:

        org.omg.CORBA.Object objRefClient = orb.resolve_initial_references("NameService");
        rootCtx = NamingContextExtHelper.narrow(objRefClient);

        NameComponent nc[] = new NameComponent[2];
        nc[0] = new NameComponent("Delta", "Context");
        nc[1] = new NameComponent("IServ", "Object");

        org.omg.CORBA.Object objRefHello = rootCtx.resolve(nc);

这为我解决了这个问题,根据前面的回答,您需要在Delta和IServ之前指定Alpha

NameComponent nc[] = new NameComponent[3];

nc[0] = new NameComponent("Alpha", "Context");
nc[1] = new NameComponent("Delta", "Context");
nc[2] = new NameComponent("IServ", "Object");

这为我解决了这个问题,根据前面的回答,您需要在Delta和IServ之前指定Alpha

NameComponent nc[] = new NameComponent[3];

nc[0] = new NameComponent("Alpha", "Context");
nc[1] = new NameComponent("Delta", "Context");
nc[2] = new NameComponent("IServ", "Object");

看起来您在NS中将对象绑定为
Alpha.Delta.IServ
,而在客户端尝试将对象解析为:
Delta.IServ
,根据NS抛出的异常,NS显然找不到该对象。看起来您在NS中将对象绑定为
Alpha.Delta.IServ
,在客户端中,您试图将对象解析为:
Delta.IServ
,而NS显然无法根据NS抛出的异常找到该对象。非常感谢,这很有效,感谢您的时间。非常感谢,这很有效,感谢您的时间。