【发布时间】:2019-12-08 04:49:00
【问题描述】:
我有一个部署在WebSphere 8 中的 EJB 应用程序
我正在尝试按照以下方式从独立 java 程序连接它
public static void main (String[] args) throws Exception
{
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
props.put(javax.naming.Context.PROVIDER_URL, "iiop//localhost:2809");
Context ctx = new InitialContext(props);
Object o = ctx.lookup("MyAppHome");
}
但这会导致以下异常
javax.naming.NameNotFoundException: Name "MyAppHome" not found in context
"serverlocal:CELLROOT/SERVERROOT".
at com.ibm.ws.naming.ipbase.NameSpace.lookupInternal(NameSpace.java:1228)
进一步研究我发现以下支持链接https://www.ibm.com/developerworks/community/forums/html/threadTopic?id=ac01caaf-d2aa-4f3f-93b3-6f3d4dec3e6b
这里回答者建议使用完全限定的 bean 名称
java:global/ProjectName/ModuleName/BeanName!FullyQualifiedNameOfRemoteInterface or BeanName#FullyQualifiedNameOfRemoteInterface.
如果它是一个正确的修复。我在哪里可以找到项目名称、模块名称和 Bean 名称?我在项目中有xmi 文件。谢谢!
【问题讨论】:
标签: ejb websphere websphere-8