我在 JVM 1.2 上编译并运行了corba服务器。我使用java IDL编译IDL文件并生成所需的存根和骨架,并使用NameService启动服务器。如果在同一系统上运行客户端,我可以连接到服务器,但是如果我尝试在 JVM 1.3 上的另一台机器上运行客户端,我将无法连接到服务器。 />
但是我可以在 JVM 1.2 上的两台不同的机器上运行这些,这些是我正在使用的命令
在服务器上
tnameserv -ORBInitialPort 2000
java HelloServer -ORBInitialPort 2000 -ORBInitialHost myhost
在客户端计算机上
java HelloClient -ORBInitialPort 2000 -ORBInitialHost myhost
但是我在客户端遇到以下错误。我在这个网站上提到了这个例子http://download.oracle.com/javase/1.3/docs/guide/idl/GShome.html
错误堆栈跟踪
ERROR : org.omg.CORBA.COMM_FAILURE: minor code: 1398079490 completed: No
org.omg.CORBA.COMM_FAILURE: minor code: 1398079490 completed: No
at com.sun.corba.se.internal.iiop.IIOPConnection.writeLock(IIOPConnection.java:956)
at com.sun.corba.se.internal.iiop.IIOPConnection.send(IIOPConnection.java:1017)
at com.sun.corba.se.internal.iiop.IIOPOutputStream.invoke(IIOPOutputStream.java:71)
at com.sun.corba.se.internal.iiop.ClientRequestImpl.invoke(ClientRequestImpl.java:82)
at com.sun.corba.se.internal.corba.ClientDelegate.invoke(ClientDelegate.java:153)
at com.sun.corba.se.internal.corba.InitialNamingClient.resolve(InitialNamingClient.java:195)
at com.sun.corba.se.internal.corba.InitialNamingClient.cachedInitialReferences(InitialNamingClient.java:260)
at com.sun.corba.se.internal.corba.InitialNamingClient.resolve_initial_references(InitialNamingClient.java:183)
at com.sun.corba.se.internal.corba.ORB.resolve_initial_references(ORB.java:1465)
at HelloClient.main(HelloClient.java:17)
答案 0 :(得分:2)
考虑到Java 1.5 是生命终结的两年,1.3是将近五年,1.2我不知道有多远,我强烈建议如果您是早期采用者,那么您可以运行当前的客户端和服务器,即1.6或1.7,显然您不是; - )