У меня возникли проблемы с поиском бизнес-интерфейсов EJB 3.0 на сервере приложений WebSphere 8.0.0.5. Когда я запускаю dumpNamespace в каталоге профиля, я получаю классы, зарегистрированные в контексте, отличном от того, который использует com.ibm.websphere.naming.WsnInitialContextFactory. Кажется, когда я запускаю приведенный ниже код, он ищет интерфейсы в Context: DeveloperCell/nodes/DeveloperNode/servers/WebSphere_Portal, когда dumpNameSpace находит интерфейсы в (вверху)/nodes/DeveloperNode/servers/WebSphere_Portal/ejb/testEAR/{ myejb.jar/полное имя интерфейса}
[обратите внимание, что содержимое в {} является заполнителем для настоящей банки и интерфейса]
Hashtable env = новая Hashtable();
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);