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

06-05-18 leogao12
    

我在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后来是怎么解决的?