首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试获取根命名上下文"NameService“时的org.omg.CORBA.OBJECT_NOT_EXIST

尝试获取根命名上下文"NameService“时的org.omg.CORBA.OBJECT_NOT_EXIST
EN

Stack Overflow用户
提问于 2012-07-20 22:40:57
回答 1查看 11.4K关注 0票数 2

我正在尝试创建一个使用CORBA进行交互的java客户端/服务器应用程序。我关注了this example,并使用“Java IDL Object Request Broker Daemon,orbd”使其正常工作。但是,当我将服务器更改为指向本地omniNames安装而不是orbd时,我收到以下错误:

代码语言:javascript
复制
C:\Hello>java HelloServer -ORBInitialPort 7000 -ORBInitialHost 192.168.1.5
ERROR: org.omg.CORBA.OBJECT_NOT_EXIST:   vmcid: OMG  minor code: 1  completed: No
org.omg.CORBA.OBJECT_NOT_EXIST:   vmcid: OMG  minor code: 1  completed: No
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.getSystemException(MessageBase.java:897)
        at com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_0.getSystemException(ReplyMessage_1_0.java:94)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(CorbaMessageMediatorImpl.java:572)
        at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(CorbaClientRequestDispatcherImpl.java:452)
        at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:339)
        at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:129)
        at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.invoke(BootstrapResolverImpl.java:89)
        at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.resolve(BootstrapResolverImpl.java:107)
        at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(CompositeResolverImpl.java:22)
        at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(CompositeResolverImpl.java:22)
        at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(CompositeResolverImpl.java:22)
        at com.sun.corba.se.impl.orb.ORBImpl.resolve_initial_references(ORBImpl.java:1151)
        at HelloServer.main(HelloServer.java:51)
HelloServer Exiting ...

导致错误的行:

代码语言:javascript
复制
org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");

就omniNames服务器而言,我知道它安装和配置正确,因为我们有无数其他应用程序已经在使用它(c++)。我看过这些其他应用程序的源代码,它们似乎也在做同样的事情:

代码语言:javascript
复制
tmpRef = moOrb->resolve_initial_references("NameService");

我知道这不是网络错误,因为如果我使用了错误的端口,会得到一个无连接的错误。我已经走投无路了,有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-23 22:15:19

问题最终出现在我的java服务器和CORBA服务器之间。我使用CORBA作为omniNames服务器(omniOrbs的一部分)。显然,java有一个非标准的bootstrap,默认情况下与omniNames不兼容。要启用对java引导的支持,可以使用以下参数启动omniNames:

代码语言:javascript
复制
'-ORBsupportBootstrapAgent 1'

添加之后,一切都很正常。More can be read here.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11581572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档