EJB3& Websphere Application Server 7:远程EJB上的NoClassDefFoundError

时间:2017-10-30 18:36:48

标签: websphere ejb-3.0

我一直在尝试连接到Websphere Application Server 7上的远程EJB。由于项目特定原因,此配置是必需的。它的目标是将两个应用程序连接在一起,这些应用程序位于独立的EAR上但位于同一服务器上。

我一直在尝试访问没有任何参数的虚拟方法。 查找URL是从本地服务器上的EJB部署复制的URL,它根据信息here符合EJB3.0 IBM规范。 我在WAS中看到了与EJB Remote问题有关的stackoverflow上的其他几篇帖子(但由于我的用户限制,我无法链接所有线程),但它们没有解决或与我的问题不同。 本地EJB调用工作正常。

这是实施。我没有在导入中使用任何特定的IBM WAS库:

连接到远程EJB的类:

Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
env.put(Context.PROVIDER_URL, "iiop://localhost:2809");
Context ctx = new InitialContext(env);
Object object = ctx.lookup("ejb/<component-id>#<package.qualified.interface>");
RemoteInterface interface = (RemoteInterface)javax.rmi.PortableRemoteObject.narrow(object, RemoteInterface.class);
String sResponse = (String)interface.dummy();

远程接口的定义是:

@Remote
public interface RemoteInterface {
    public String dummy() throws Exception;
}

我的实施是:

@Override
public String dummy() throws Exception {
    return "string";
}

环境信息:

  • Websphere Application Server 7
  • JDK 1.6
  • EJB 3.0
  • EAR 5.0

也许有人可以给我一些关于下一步该做什么的指示。

0 个答案:

没有答案