Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在WAS7上查找EJB3时出现InvalidObject异常_Java_Ejb_Websphere_Ejb 3.0_Websphere 7 - Fatal编程技术网

Java 在WAS7上查找EJB3时出现InvalidObject异常

Java 在WAS7上查找EJB3时出现InvalidObject异常,java,ejb,websphere,ejb-3.0,websphere-7,Java,Ejb,Websphere,Ejb 3.0,Websphere 7,我有一个java web应用程序,它部署在两个EAR中—一个用于UI层(包含WAR模块),另一个用于业务层(包含EJB模块)。这两个层都部署到WebSphereApplicationServer7。这些层通过EJB3.0无状态会话bean连接。这些bean是通过JNDI查找的 这两个应用程序当前位于同一WAS服务器上,但将来将部署到不同的服务器上。当我试图查找EJB时,我得到一个错误 尝试调试查找错误时,我在WAS服务器上运行了JNDI命名空间转储: ./dumpNameSpace.bat -h

我有一个java web应用程序,它部署在两个EAR中—一个用于UI层(包含
WAR模块
),另一个用于业务层(包含
EJB模块
)。这两个层都部署到WebSphereApplicationServer7。这些层通过EJB3.0无状态会话bean连接。这些bean是通过JNDI查找的

这两个应用程序当前位于同一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>
以及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>   

...

发生错误的原因是什么?如果没有
ibmejbjarbnd.xml
文件,错误也是一样的,我不需要这个文件。这个错误是导致UI查找失败的原因,还是应该正常工作?(在这种情况下,我将发布UI错误)。

我猜EJB启动失败。服务器端是否显示了相关EJB的任何错误消息?我不知道怎么会错过它,因为这是我的第一个想法,我已经多次检查了服务器日志。我再次检查,EJB远程接口的一个接口得到了ClassNotFoundException。我想一旦我解决了这个问题,它就会被修复,谢谢。
<?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>