gpt4 book ai didi

java - 如何通过远程接口(interface)向 EJB 发送对象

转载 作者:行者123 更新时间:2023-11-30 10:53:30 24 4
gpt4 key购买 nike

您好,我有一个 Web 应用程序,它具有带远程接口(interface)的类库、带有 bean 的 EJB 模块和 Struts 2 Web 应用程序。每当我尝试通过远程接口(interface)将自定义对象发送到 EJB 时,都会出现以下异常。

javax.ejb.EJBException: java.rmi.MarshalException: CORBA MARSHAL 1330446393 Maybe; nested exception is: 
org.omg.CORBA.MARSHAL: ----------BEGIN server-side stack trace----------
org.omg.CORBA.MARSHAL: WARNING: 00810057: Could not load class newp.Employee vmcid: OMG minor code: 57 completed: Maybe
at com.sun.proxy.$Proxy225.couldNotFindClass(Unknown Source)

不能传递任何自定义对象。类实现可序列化。通过接口(interface)从 ejb 检索对象时,IT 工作正常。有人可以帮忙吗?

最佳答案

正如@Spyros k 所说,您应该首先将自定义类结构包含到您的服务器中。这意味着您必须将您自己的 CustomObject.java 类放入您的服务器中。您应该知道,通过 EJB 发送对象并不是发送确切的类对象,它只是需要转换为类类型的服务器的引用。由于 JVM,所有 Java 标准类都在服务器中,但是如果您有一个自定义类,发送一个引用是不够的,您必须在另一端有类结构来转换接收到的引用。所以在服务器端你应该有这样的东西:

YourCustomObject obj = (YourCustomObject) EjbObject.returnRefernce();

如果您在另一端没有 YourCustomObject.java 类,那么您如何转换到它呢?我建议阅读 RMI 以找到有关此结构的更多信息。

关于java - 如何通过远程接口(interface)向 EJB 发送对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33973380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com