在WAS7上查找EJB3时出现InvalidObjectException

时间:2012-05-23 05:51:43

标签: java ejb websphere ejb-3.0 websphere-7

我有一个部署在两个EAR中的java Web应用程序 - 一个用于UI层(包含WAR module),另一个用于业务层(包含EJB module)。这两个层都部署到WebSphere Application Server 7.这些层通过EJB 3.0无状态会话bean连接。通过JNDI查找bean。

这两个应用程序当前位于同一个WAS服务器上,但将来会部署到不同的服务器上。当我尝试查找EJB时,出现错误。

尝试调试查找错误,我在WAS服务器上运行了JNDI名称空间转储:

./dumpNameSpace.bat -host localhost -port 10031 > namespace.log

我的每个EJB都列出了以下错误:

(top)/nodes/U4752879Node01/servers/server1/ejb/au/gov/immi/emed/ejb/CrtEJB
                                               au.gov.immi.emed.ejb.CrtEJB
ERROR: Received the following naming exception: com.ibm.ws.naming.util.InvalidObjectException: The IOR associated with the binding "CrtEJB" relative to the context "U4752879Node01Cell/nodes/U4752879Node01/servers/server1/ejb/au/gov/immi/emed/ejb" could not be resolved.  If the binding is for an application object, make sure the application has started successfully. IOR: IOR:<removed>

这是EJB远程接口:

@Remote
public interface CrtEJB extends EMedEJB, EMedCrtService
{
}

bean实现:

@Stateless(name = "CrtEJB")
@Remote(value = CrtEJB.class)
public class CrtEJBBean extends AbstractEMedEJBBean implements CrtEJB
{

    ...
}

和ibm-ejb-jar-bnd.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ejb-jar-bnd_1_0.xsd">
    <session name="CrtEJB" simple-binding-name="ejb/au/gov/immi/emed/ejb/CrtEJB" />
        ...
</ejb-jar-bnd>   

导致错误发生的原因是什么?没有ibm-ejb-jar-bnd.xml文件的错误是相同的,我不需要。这个错误是导致UI查找失败的原因,还是应该正常工作? (在这种情况下,我会发布UI错误)。

0 个答案:

没有答案