请大家帮我看看是什么原因出错?

liuchengren 2006-12-11 05:25:50
public static void OpenServer(String[] args)
{
try{

// create and initialize the ORB
Properties props = new Properties();
props.put("org.omg.CORBA.ORBInitialHost", "127.0.0.1");
props.put("org.omg.CORBA.ORBInitialPort", "999");
ORB orb = ORB.init(args, props);

// get reference to rootpoa & activate the POAManager
POA rootpoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
rootpoa.the_POAManager().activate();


// create servant and register it with the ORB
HelloImpl helloImpl = new HelloImpl();
helloImpl.setORB(orb);

// get object reference from the servant
org.omg.CORBA.Object ref = rootpoa.servant_to_reference(helloImpl);
Hello href = HelloHelper.narrow(ref);

// get the root naming context
ShowMessageBox(shell, "ddddddddddddd", "11");
//orb.resolve_initial_references("ServerApp");
org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
//上面这句出错

// Use NamingContextExt which is part of the Interoperable
// Naming Service (INS) specification.
ShowMessageBox(shell, "ddddddddddddd", "11");
NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);


// bind the Object Reference in Naming
String name = "Hello";
NameComponent path[] = ncRef.to_name(name);
ncRef.rebind(path, href);

System.out.println("HelloServer ready and waiting ...");

// wait for invocations from clients
orb.run();
}

catch (Exception e) {
System.err.println("ERROR: " + e);
//e.printStackTrace(System.out);
}
}

出错信息:
2006-12-11 17:25:16 com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl <init>
警告: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: 127.0.0.1; port: 999"
org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2172)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2193)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:205)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:218)
at com.sun.corba.se.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:101)
at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:152)
at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:118)
at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.invoke(BootstrapResolverImpl.java:74)
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:1157)
at MainForm.OpenServer(MainForm.java:80)
at MainForm.main(MainForm.java:46)
Caused by: java.net.ConnectException: Connection refused: connect
at sun.nio.ch.Net.connect(Native Method)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:464)
at java.nio.channels.SocketChannel.open(SocketChannel.java:146)
at com.sun.corba.se.impl.transport.DefaultSocketFactoryImpl.createSocket(DefaultSocketFactoryImpl.java:60)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:188)
... 12 more
ERROR: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
...全文
299 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
红楼梦魇 2006-12-28
  • 打赏
  • 举报
回复
很可能是你连接的参数不对,比如端口是不是999,还有连接参数的写法是不是正确,我用过,写法是:
String[] aryArgs = new String[3];
aryArgs[0] = "-ORBInitRef";
aryArgs[1] = "NameService=corbaloc::" + corbaIP + ":" + corbaPort + "/NameService";
aryArgs[2] = "-OAthread_per_request";

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧