Java – exception in Weblogic when i run the application

exceptionjavaswingweblogic

when i run my application, i get following exception.
I have no problem with it because it bollocks nothing but i'm worry for production.
Can any body suggest the reason for it and eventually solution?

weblogic.rjvm.PeerGoneException: ; nested exception is: 
java.rmi.UnmarshalException: Incoming message header or abbreviation processing failed ; nested exception is: 
java.io.InvalidClassException: du.bzvd.j2ee.resources.PrinterVO; local class incompatible: stream classdesc serialVersionUID = 0, local class serialVersionUID = 1
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:221)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:338)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
at du.bzvd.j2ee.resources.bean.ResourcesFacade_yp0dn4_EOImpl_1000_WLStub.getDefaultPrinterForComputer(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at du.bzvd.j2ee.arch.util.security.AuthenticatedSessionFacade$1.run(AuthenticatedSessionFacade.java:60)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.security.Security.runAs(Security.java:61)
at du.bzvd.j2ee.arch.util.security.AuthenticatedSessionFacade.invokeAuthenticated(AuthenticatedSessionFacade.java:58)
at du.bzvd.j2ee.arch.util.security.AuthenticatedSessionFacade.invoke(AuthenticatedSessionFacade.java:43)
at $Proxy2.getDefaultPrinterForComputer(Unknown Source)
at du.bzvd.j2eeutil.resource.ResourceGateway$10.call(ResourceGateway.java:166)
at du.bzvd.j2eeutil.resource.ResourceGateway$10.call(ResourceGateway.java:165)
at du.bzvd.j2eeutil.resource.ResourceGateway.getImpl(ResourceGateway.java:386)
at du.bzvd.j2eeutil.resource.ResourceGateway.getDefaultPrinterForComputer(ResourceGateway.java:164)
at du.bzvd.info.KWSInfoPanel.getDefaultPrinterForComputer(KWSInfoPanel.java:185)
at du.bzvd.info.KWSInfoPanel.getProperties(KWSInfoPanel.java:107)
at du.bzvd.info.KWSInfoPanel.getGuiLessSummary(KWSInfoPanel.java:135)
at du.bzvd.info.InfoCollector.saveSummary(InfoCollector.java:27)
at du.bzvd.info.InfoCollector.access$000(InfoCollector.java:16)
at du.bzvd.info.InfoCollector$InfoCollectorThread.run(InfoCollector.java:120)
    Caused by: java.rmi.UnmarshalException: Incoming message header or abbreviation processing failed ; nested exception is: 
java.io.InvalidClassException: du.bzvd.j2ee.resources.PrinterVO; local class incompatible: stream classdesc serialVersionUID = 0, local class serialVersionUID = 1
at weblogic.rjvm.MsgAbbrevJVMConnection.dispatch(MsgAbbrevJVMConnection.java:441)
at weblogic.rjvm.t3.MuxableSocketT3.dispatch(MuxableSocketT3.java:368)
at weblogic.socket.AbstractMuxableSocket.dispatch(AbstractMuxableSocket.java:383)
at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:872)
at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:808)
at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:283)
at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
    Caused by: java.io.InvalidClassException: du.bzvd.j2ee.resources.PrinterVO; local class incompatible: stream classdesc serialVersionUID = 0, local class serialVersionUID = 1
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:546)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1552)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1292)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at weblogic.rjvm.ClassTableEntry.readExternal(ClassTableEntry.java:36)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1756)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1717)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at weblogic.rjvm.InboundMsgAbbrev.readObject(InboundMsgAbbrev.java:65)
at weblogic.rjvm.InboundMsgAbbrev.read(InboundMsgAbbrev.java:37)
at weblogic.rjvm.MsgAbbrevJVMConnection.readMsgAbbrevs(MsgAbbrevJVMConnection.java:223)
at weblogic.rjvm.MsgAbbrevInputStream.init(MsgAbbrevInputStream.java:174)
at weblogic.rjvm.MsgAbbrevJVMConnection.dispatch(MsgAbbrevJVMConnection.java:435)

Best Solution

The problem is with serialVerUID of the class whose objects you want to marshal/unmarshal

Just see the following line in the exception you got: stream classdesc serialVersionUID = 0, local class serialVersionUID = 1

There is a mismatch of serialVersionUID. This happens when you have changed the serialVersion UID or changed any members of the class.

Can you define a member variable in your class PrinterVO like:

static long serialVersionUID=0