1 Reply Latest reply on Aug 27, 2003 12:48 AM by adrian.brock

    jboss-4.0.0DR2: local class incompatible

    oscpro

      Hi,

      I have a very simple ejb jar file with a stateless session bean, its local and remote interfaces and its local and remote homes.

      If I deploy the jar in jboss-4.0.0DR2 and try to get the remote home from a client using jndi I get instead the following exception:

      Exception in thread "main" javax.naming.CommunicationException [Root exception is java.io.InvalidClassException: org.jboss.proxy.Interceptor;\
       local class incompatible: stream classdesc serialVersionUID = 8774269974037850782,\
       local class serialVersionUID = 4358098404672505200]
       at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:611)
       at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:471)
       at javax.naming.InitialContext.lookup(InitialContext.java:347)
       at org.xenata.aop.interfaces.PojoServiceUtil.getHome(PojoServiceUtil.java:24)
       at org.xenata.client.PojoClient.main(PojoClient.java:31)
      Caused by: java.io.InvalidClassException: org.jboss.proxy.Interceptor; local class incompatible: stream classdesc serialVersionUID = 8774269974037850782, local class serialVersionUID = 4358098404672505200
       at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:463)
       at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1521)
       at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435)
       at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1521)
       at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435)
       at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1521)
       at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435)
       at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626)
       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
       at org.jboss.proxy.ClientContainer.readExternal(ClientContainer.java:111)
       at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1686)
       at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1644)
       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
       at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
       at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
       at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
       at java.rmi.MarshalledObject.get(MarshalledObject.java:135)
       at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:30)
       at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:514)
       ... 4 more
      


      If the exact same ejb jar is deployed in jboss 3.2 and I use the same client it works fine.

      Any idea why it doesn't work in 4.0?