小编典典

java.rmi.MarshalException

java

每当我尝试从客户端调用我的ejb时,都会出现此错误:

  java.rmi.MarshalException: Failed to communicate.

    Problem during     marshalling/unmarshalling; nested exception is:

    java.io.InvalidClassException: com.afrikbrain.util.message.MessageInfo;

    local     class incompatible:

   stream classdesc serialVersionUID = 2285009932770474121,

   local class     serialVersionUID = -2900394430145132451 at

  org.jboss.remoting.transport.socket.SocketClientInvoker.handleException(SocketClientInvoker
.java:122)

为什么会发生?以及如何解决呢?


阅读 277

收藏
2020-11-30

共1个答案

小编典典

本地类和远程类是不同的版本。在解组过程中,接收方不支持发送方的协议版本。确保服务器上的已编译类与客户端上的已编译类版本相同,因此可以进行序列化/反序列化而不会出现问题。我建议您从零开始重建所有项目,然后重新部署它们,并重新生成存根。

2020-11-30