0

whenever I try to call my ejb from a client, I get this error :

  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)

why is it occuring ? and how to solve it ?

2 Answers 2

3

The local class and the remote class are differente versions. During the unmarshalling process the receiver does not support the protocol version of the sender. Make sure the compiled class on the server is the same version of the compiled class on the client, so can be serialized/deserialized without problems. I suggest you rebuilding from zero all the project and redeploying them, and regenerate the stubs.

Sign up to request clarification or add additional context in comments.

Comments

1

Looks like your server has a different version of the object that your client. Make sure they are both using the same code for the com.afrikbrain.util.message.MessageInfo object.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.