我是CORBA和JacORB的新手。我正在使用CORBA和JacORB在我的第一个Hello World应用程序上苦苦挣扎。
这是我收到的最新错误:
Nov 04, 2013 9:52:19 AM com.sun.corba.se.impl.transport.SocketOrChannelConnectionIm <init>
WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 7070"
org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
这是我的服务器导致该错误:
Properties props = new Properties();
props.put("org.omg.CORBA.ORBInitialPort","7070");
props.put("org.omg.CORBA.ORBInitialHost","localhost");
ORB orb = ORB.init(args, props);
try {
//
POA poa = POAHelper.narrow(orb
.resolve_initial_references("RootPOA"));
poa.the_POAManager().activate();
// Servant
HelloVnImpl hello = new HelloVnImpl();
// get servant reference
Object o = poa.servant_to_reference(hello);
HelloVn hVnRef = HelloVnHelper.narrow(o);
// Get root naming context
Object objRef = orb.resolve_initial_references("NameService");//Error
NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
在互联网上四处看看,这个问题显然是我的名字服务,但我想我是从它开始的。
C:\Users\Paul>ns -ORBInitRef.NameService=corbaloc::localhost:7070/NameService
Nov 04, 2013 9:38:25 AM org.jacorb.config.JacORBConfiguration <init>
WARNING: no properties found for configuration jacorb
Nov 04, 2013 9:38:25 AM org.jacorb.orb.ORBSingleton <init>
INFO: created ORBSingleton
Nov 04, 2013 9:38:27 AM org.jacorb.orb.giop.CodeSet getTCSDefault
WARNING: Warning - unknown codeset (Cp1252) - defaulting to ISO-8859-1
Nov 04, 2013 9:38:27 AM org.jacorb.naming.NameServer main
INFO: NS up
Nov 04, 2013 9:38:27 AM org.jacorb.orb.ORB run
INFO: ORB run
现在,我不知道接下来要做什么。请给我一个建议。谢谢。 :)
更新:
这个行代码给我一个空值:
System.out.println(System.getProperty("org.omg.CORBA.ORBClass"));
这是什么意思?它告诉我我的名字服务器有问题吗? 希望看到你的建议。感谢
答案 0 :(得分:1)
设置服务器和命名服务(NS)的方式存在一些问题:
1)您在服务器代码中设置的两个属性(org.omg.CORBA.ORBInitialPort
和org.omg.CORBA.ORBInitialHost
)不是JacORB属性。假设您希望服务器在端口7070上侦听请求,那么您希望设置“OAAddress”属性,如下所示:
props.put(“OAAdress”,“iiop:// localhost:7070”);
2)选项-ORBInitRef.NameService=corbaloc::localhost:XXX/NameService
应该是服务器找到NS而不是NS。请注意,“XXX”是NS的监听端口,不应该是“7070”。
我建议你看一下包含工作服务器和客户端的hello demo,它们更简单。