java通过corba连接华为北向告警接口
我们现在在做一个北向连接华为corba获取告警信息的项目。
idl华为那边已经给了,编译也都通过了。现在在连接的时候出现错误,因为都没有接触过这方面的知识,现在遇到了困扰,请大家帮忙解决下。[code=package test;
import java.util.Properties;
import notifications.EventIterator_IHolder;
import notifications.EventList_THolder;
import notifications.PerceivedSeverity_T;
import org.omg.CORBA.ORB;
import org.omg.CosNaming.NamingContextExt;
import org.omg.CosNaming.NamingContextExtHelper;
import emsMgr.EMSMgr_I;
import emsMgr.EMSMgr_IHelper;
public class Client
{
static EMSMgr_I emsMgr;
public static void main(String args[]){
try{
System.out.println("---------------------");
Properties p = new Properties();
// 生成一个ORB,并初始化,这个和Server端一样
p .put("org.omg.CORBA.ORBInitialPort", "12001");
p.put("org.omg.CORBA.ORBInitialHost", "10.96.88.68");
//解决中文问题
p.setProperty("com.sun.CORBA.codeset.charsets", "0x05010001, 0x00010109"); // UTF-8, UTF-16
p.setProperty("com.sun.CORBA.codeset.wcharsets", "0x00010109, 0x05010001"); // UTF-16, UTF-8
ORB orb = ORB.init(args, p);
System.out.println("---------------------");
// 获得根命名上下文
org.omg.CORBA.Object objRef = orb.resolve_initial_references("EMSMgr_I");
System.out.println("---------------------");
// 用NamingContextExt代替NamingContext.
NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
System.out.println("---------------------");
// 通过名称获取服务器端的对象引用
String name = "emsMgr_I";
emsMgr = EMSMgr_IHelper.narrow(ncRef.resolve_str(name));
//调用远程对象
String[] excludeProbCauseList=null;
PerceivedSeverity_T[] excludeSeverityList=null;
int how_many=2;
EventList_THolder eventList=null;
EventIterator_IHolder eventIt=null;
System.out.println("---------------------");
emsMgr.getAllEMSAndMEActiveAlarms(excludeProbCauseList, excludeSeverityList, how_many, eventList, eventIt);
System.out.println("---------------------");
System.out.println(eventList);
}
catch (Exception e) {
System.out.println("ERROR : " + e) ;
}
}
} ][/code]
现在报的错误是
---------------------
---------------------
2010-2-8 9:56:15 com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl <init>
警告: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: 10.96.88.68; port: 12001"
org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2200)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2221)
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:1123)
at test.Client.main(Client.java:32)
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)
... 11 more
ERROR : org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
我们给华为那边沟通了:它回执的是:
测试服务器建议使用T2100_SVR2网管,IP地址为129.9.3.35,
名字服务端口号:12001
通知服务端口号:12002
CORBA Agent端口号:12003
我也是参照网上java连接corba的例子写的客户端。现在不知道到底是哪里出的问题,请告诉帮忙解决下