java Corba北向接口连接创建 获取session工厂

之前在网上查询较多连接方法无法建立正确连接,参考无数文档后找到了自己的方法,以助于其他小伙伴们少走弯路。出处不太记得了不贴了。(相关的java类是华为北向接口类可查询下载)

初始化方法如下


public class Demo {
	private static final String SERVER_IP="";
	private static final String SERVER_PORT ="";
	private static final String USER_NAME="";
	private static final String PASSWORD="";
	private POA rootPoa = null;
	private EmsSessionFactory_I pEmsSessionFactory = null;
	private EmsSession_I pEmsSession = null;
	
    public void init() {
        String[] args = new String[40];
        orb = ORB.init(args, null);
        //init POA
        try {
            Object obj1 = orb.resolve_initial_references("RootPOA");
            rootPoa = POAHelper.narrow(obj1);
            rootPoa.the_POAManager().activate();
            obj1 = orb.string_to_object("corbaloc:iiop:1.2@" + SERVER_IP + ":" + SERVER_PORT + "/NameService");
            NamingContextExt defaultcontext = NamingContextExtHelper.narrow(obj1);
            assert (!(defaultcontext == null));

            org.omg.CORBA.Object obj2 = defaultcontext.resolve_str("WRI/EMS_1\\/SESSIONFACTORY.SESSIONFACTORY");
            assert (!(obj2 == null));
            //获取session工厂
            pEmsSessionFactory = EmsSessionFactory_IHelper.narrow(obj2);
            //登录获取权限
             NmsSession_I pNmsSession = null;

            EmsSession_IHolder emsSessionIHolder = new EmsSession_IHolder();

            pEmsSessionFactory.getEmsSession(USER_NAME, PASSWORD, pNmsSession, emsSessionIHolder);
            pEmsSession = emsSessionIHolder.value;
            //接下来就可以根据pEmsSession获取各种接口相关的管理器
            if (orb != null) {
                orb.destroy();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值