我无法在 WebSphere Application server 8.0.0.5 上定位 EJB 3.0 业务接口。当我在配置文件目录上运行 dumpNamespace 时,我会在与 com.ibm.websphere.naming.WsnInitialContextFactory 使用的上下文不同的上下文中注册类。似乎当我运行以下代码时,它会在 Context: DeveloperCell/nodes/DeveloperNode/servers/WebSphere_Portal 上查找接口,而 dumpNameSpace 将接口定位在 (top)/nodes/DeveloperNode/servers/WebSphere_Portal/ejb/testEAR/{ myejb.jar/全限定接口名}
[注意{}中的内容是真实jar和界面的占位符]
哈希表环境 = 新哈希表();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
env.put(Context.PROVIDER_URL, "iiop://localhost:10035");
Context ctx = new InitialContext(env);
Object obj = ctx.lookup(ProvinceServiceLocal.class.getName());
ProvinceServiceLocal provinceService = (ProvinceServiceLocal) PortableRemoteObject.narrow(obj, ProvinceServiceLocal.class);