InvalidClassException on 4.0.3SP1 with EJB3RC5
cdollar393 Mar 6, 2006 1:38 PMLike 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