1 Reply Latest reply on Mar 6, 2006 3:25 PM by cdollar393

    InvalidClassException on 4.0.3SP1 with EJB3RC5

    cdollar393

      Like the subject says, I am using jboss 4.0.3SP1 with EJB3RC5. Our app uses a swing client to connect to our jboss server using ClientLoginModule to auth to a DatabaseServerLoginModule on jboss.

      Everything works great, except when a user logs in incorrectly we get a

      DEBUG [org.jboss.security.auth.spi.DatabaseServerLoginModule] Bad password for username=user

      message in the server.log but the client gets a
      ERROR 06-03 10:49:58,115 (SocketClientInvoker.java:transport:274) -Got marshalling exception, exiting
      java.io.InvalidClassException: javax.ejb.EJBException; local class incompatible: stream classdesc serialVersionUID = 2512003687642492863, local class serialVersionUID = 796770993296843510
       at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:519)
       at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1546)
       at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
       at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1546)
       at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
       at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)
       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
       at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
       at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
       at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
       at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:128)
       at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:66)
       at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:260)
       at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:131)
       at org.jboss.remoting.Client.invoke(Client.java:258)
       at org.jboss.remoting.Client.invoke(Client.java:221)
       at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:55)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
       at org.jboss.aspects.remoting.ClusterChooserInterceptor.invoke(ClusterChooserInterceptor.java:74)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
       at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
       at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:55)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
       at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:65)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
       at org.jboss.ejb3.stateless.StatelessClusteredProxy.invoke(StatelessClusteredProxy.java:100)

      message instead of a LoginException.

      Since I am using EJB3RC5 I has to dump the jbossall-client.jar file on the client side and build the client classpath from the server's lib and deploy directories, so I am using jbosssx.jar for the org.jboss.security.ClientLoginModule class.

      I know that this message is telling me that the classes used on the server are different than those being used by the client, but I can't figure out what it might be??? I have double-checked all the jars in the client's classpath and can't find one thats different than the ones on the server?

      Any help on this would be great!

      Chris