UnmarshallException in JBoss 4.0 but not in JBoss 3.2.3
stefanfreyr Oct 4, 2004 7:15 AMHi.
I have been trying to move our applications to run on JBoss 4.0 but I'm running into a problem.
To begin with, let me describe the scenario.
I'm using JDK 1.5. To get JBoss 3.2.3 to run on that I had to create a specific JBoss_JDK 1.5 in which I removed the javax.management package from the rt.jar file. JBoss 4.0 doesn't seem to have a problem with the vanilla JDK 1.5 so no special handling is done there.
I have created an EAR file with my J2EE application in it and deployed _the same file_ on both the JBoss 3.2.3 and 4.0 installations. I then use the _same client_ to connect to the running instance. I, of course, only run either one at a time (either the 3.2.3 or the 4.0).
When I run the 3.2.3 everything works like a charm. But when I run 4.0 I get the following exception _on the client side_:
WARNING: A naming exception occurred when trying to perform an EJB lookup. javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.io.InvalidClassException: org.jnp.interfaces.MarshalledValuePair; local class incompatible: stream classdesc serialVersionUID = -6485622724173581497, local class serialVersionUID = -3403843515711139134] 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:351) at is.althingi.embla.clientframework.openapi.Framework.lookupSessionEJB(Framework.java:270) at is.althingi.embla.client.parliamentarysession.data.ParliamentSessionConnection.getConnection(ParliamentSessionConnection.java:41) at is.althingi.embla.client.parliamentarysession.data.ParliamentSessionDelegator.getConnection(ParliamentSessionDelegator.java:133) at is.althingi.embla.client.parliamentarysession.data.ParliamentSessionDelegator.getCurrentSessionCardinal(ParliamentSessionDelegator.java:143) at is.althingi.embla.client.parliamentarysession.data.ParliamentSessionDelegator.getDelegator(ParliamentSessionDelegator.java:164) at is.althingi.embla.client.parliamentarysession.action.DisplayMpRecordListAction.actionPerformedImpl(DisplayMpRecordListAction.java:38) at is.althingi.embla.clientframework.openapi.EmblaFrameworkAction.actionPerformed(EmblaFrameworkAction.java:65) at is.althingi.embla.clientframework.plugin.PluginManager.invokeStartupActions(PluginManager.java:165) at is.althingi.embla.clientframework.ClientFramework.pluginInit(ClientFramework.java:276) at is.althingi.embla.clientframework.ClientFramework.init(ClientFramework.java:120) at is.althingi.embla.clientframework.ClientFramework.main(ClientFramework.java:374) Caused by: java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.io.InvalidClassException: org.jnp.interfaces.MarshalledValuePair; local class incompatible: stream classdesc serialVersionUID = -6485622724173581497, local class serialVersionUID = -3403843515711139134 at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:157) at org.jnp.server.NamingServer_Stub.lookup(Unknown Source) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:492) ... 13 more Caused by: java.io.InvalidClassException: org.jnp.interfaces.MarshalledValuePair; local class incompatible: stream classdesc serialVersionUID = -6485622724173581497, local class serialVersionUID = -3403843515711139134 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.readOrdinaryObject(ObjectInputStream.java:1693) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339) at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:139) ... 15 more
Nothing appears on the server side.