如何在java类中调用websphere中的jndi对象

leogao12 06-05-18
    

我在websphere中配置了一个jndi对象,我想在容器外调用这个jndi对象,我的代码如下:
String initialContextFactory = "com.ibm.websphere.naming.WsnInitialContextFactory";
String providerURL= "iiop://127.0.0.1:9090";
java.util.Properties props = new java.util.Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, initialContextFactory);
props.put(Context.PROVIDER_URL, providerURL);Context ctx = new InitialContext(props);
Hashtable ht=ctx.getEnvironment();
Enumeration enus=ht.keys();
while(enus.hasMoreElements()){
System.out.println((String)enus.nextElement());
}

结果老是报错,我用的IDE是eclipse,运行时需要怎么样的配置,我将websphere/appserver/lib的类全部导入到项目中,结果还是报错,请哪位会的指导一下

    

1
leogao12
2006-05-18 11:06

所有的类库都导进去了,就报这个错误
javax.naming.NamingException: Failed to initialize the ORB [Root exception is org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation com.ibm.CORBA.iiop.ORB vmcid: 0x0 minor code: 0 completed: No]
at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:293)
at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:365)
at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:102)
at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:408)
at com.ibm.ws.naming.util.WsnInitCtx.getEnvironment(WsnInitCtx.java:380)
at javax.naming.InitialContext.getEnvironment(InitialContext.java:484)
at com.pdf.test.Demo.main(Demo.java:34)
Caused by: org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation com.ibm.CORBA.iiop.ORB vmcid: 0x0 minor code: 0 completed: No
at org.omg.CORBA.ORB.create_impl(ORB.java:297)
at org.omg.CORBA.ORB.init(ORB.java:336)
at com.ibm.ws.orb.GlobalORBFactory.init(GlobalORBFactory.java:77)
at com.ibm.ejs.oa.EJSORBImpl.initializeORB(EJSORBImpl.java:174)
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:98)
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:74)
at com.ibm.ejs.oa.EJSORB.init(EJSORB.java:386)
at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:284)
... 6 more
Caused by: java.lang.UnsatisfiedLinkError: registerNatives
at com.ibm.jvm.ExtendedSystem.registerNatives(Native Method)
at com.ibm.jvm.ExtendedSystem.<clinit>(ExtendedSystem.java:176)
at com.ibm.rmi.util.JDKBridge.setCodebaseProperties(JDKBridge.java:226)
at com.ibm.rmi.util.JDKBridge.<clinit>(JDKBridge.java:205)
at com.ibm.rmi.util.RepositoryId.<clinit>(RepositoryId.java:122)
at com.ibm.rmi.iiop.CDROutputStream.<clinit>(CDROutputStream.java:1077)
at com.ibm.rmi.corba.ORB.<init>(ORB.java:250)
at com.ibm.rmi.iiop.ORB.<init>(ORB.java:166)
at com.ibm.CORBA.iiop.ORB.<init>(ORB.java:521)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at org.omg.CORBA.ORB.create_impl(ORB.java:295)
... 13 more

leogao12
2006-05-18 11:12

我把所有的类库都加进来之后就报这个错了
javax.naming.NamingException: Failed to initialize the ORB [Root exception is org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation com.ibm.CORBA.iiop.ORB vmcid: 0x0 minor code: 0 completed: No]
at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:293)
at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:365)
at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:102)
at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:408)
at com.ibm.ws.naming.util.WsnInitCtx.getEnvironment(WsnInitCtx.java:380)
at javax.naming.InitialContext.getEnvironment(InitialContext.java:484)
at com.pdf.test.Demo.main(Demo.java:34)
Caused by: org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation com.ibm.CORBA.iiop.ORB vmcid: 0x0 minor code: 0 completed: No
at org.omg.CORBA.ORB.create_impl(ORB.java:297)
at org.omg.CORBA.ORB.init(ORB.java:336)
at com.ibm.ws.orb.GlobalORBFactory.init(GlobalORBFactory.java:77)
at com.ibm.ejs.oa.EJSORBImpl.initializeORB(EJSORBImpl.java:174)
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:98)
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:74)
at com.ibm.ejs.oa.EJSORB.init(EJSORB.java:386)
at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:284)
... 6 more
Caused by: java.lang.UnsatisfiedLinkError: registerNatives
at com.ibm.jvm.ExtendedSystem.registerNatives(Native Method)
at com.ibm.jvm.ExtendedSystem.<clinit>(ExtendedSystem.java:176)
at com.ibm.rmi.util.JDKBridge.setCodebaseProperties(JDKBridge.java:226)
at com.ibm.rmi.util.JDKBridge.<clinit>(JDKBridge.java:205)
at com.ibm.rmi.util.RepositoryId.<clinit>(RepositoryId.java:122)
at com.ibm.rmi.iiop.CDROutputStream.<clinit>(CDROutputStream.java:1077)
at com.ibm.rmi.corba.ORB.<init>(ORB.java:250)
at com.ibm.rmi.iiop.ORB.<init>(ORB.java:166)
at com.ibm.CORBA.iiop.ORB.<init>(ORB.java:521)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at org.omg.CORBA.ORB.create_impl(ORB.java:295)
... 13 mo

sinaID54585
2014-08-02 14:07

lz后来是怎么解决的?