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

Corba NamingContextExtStub.resolve will not find an object binding what am i doing wrong?

第一次在这里提问,如果太愚蠢或太简单,请见谅。 我正在学习 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");