【发布时间】:2015-09-09 07:12:33
【问题描述】:
我正在开发一个企业应用程序并构建了包含 WAR 和 ejb jar 文件以及 SOAP Web 服务的 EAR 文件。我成功地部署了应用程序而没有任何启动错误并发布了 Web 服务,我可以访问 wsdl 文件并从 SOAP UI 进行 Web 服务调用。 Web 服务调用某个 Manager 类,该类执行 EJB 查找以查找会话 bean,该会话 bean 失败并出现异常 javax.naming.NameNotFoundException: Name com.chubb.dgmk.dus.client.DigitalUserServiceLocal not found in context “ejblocal:”。
我的会话 ejb 被标记为 @Stateless 和带有 @Local 注释的本地接口。但是当我在管理控制台中查看我的应用程序时,我没有看到任何已部署的 EJB。参考部分下没有 “EJB 参考” 链接,如下图所示。由于我没有收到任何部署错误,因此我不知道出了什么问题。
try {
context = new InitialContext();
Object obj = context.lookup("ejblocal:com.chubb.dgmk.dus.client.DigitalUserServiceLocal");
dusService = (IDigitalUserService)obj;
} catch (NamingException e) {
}
【问题讨论】:
-
在我的 EAR 的 application.xml 中添加了一个条目后,我为我检测到了 ejb 模块。 Maven 默认只添加了 war 文件。我添加了另一个条目,例如
lib/core-ejb.jar
标签: java jakarta-ee ejb-3.0 websphere-7