|
| Problem | There have been some interoperability problems with serialization which occur as specified under the conditions in the table below. The exceptions listed are related to serializing a class that has been versioned. | | | | Solution | WebSphere Java ORB Interoperability with Serializables There have been some interoperability problems with serialization which occur as specified under the conditions in the table below. The exceptions listed are related to serializing a class that has been versioned. It is always suggested that the customer move to the latest FixPack level when possible. These e-fixes are provided for those customers who encounter the problems listed below and are not able to move up to the latest FixPack. 1. SUID Mismatch Exception - This exception occurs when a versioned class is serialized on 3.0.2.0 or 3.0.2.1. Solution: If a class is versioned, then the versioned class must exist on all clients and servers in order to interoperate. This was fixed in 3.0.2.2.
An e-fix is not possible for this problem on 3.0.2.0 or 3.0.2.1. This is a server side stack trace which may show up on the client as a System Exception - java.rmi.MarshalException: CORBA MARSHAL java.io.IOException: Mismatched serialization UIDs : Source (Rep. IDRMI:test.fvd.SeriousEvent:0E3DE0B1E182B37D:2F6FD34A6F29F8AD) = 2F6FD34A6F29F8AD whereas Target (Rep. ID RMI:test.fvd.SeriousEvent:0E3DE0B1E182B37D:6A98622653546D9D) = 6A98622653546D9D
at com.sun.rmi.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:244)
at com.sun.rmi.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:224)
at com.sun.rmi.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:154)
at com.sun.rmi.iiop.CDRInputStream.read_value(CDRInputStream.java:905)
at com.sun.rmi.corba.TCUtility.unmarshalIn(TCUtility.java:243)
at com.sun.rmi.corba.AnyImpl.read_value(AnyImpl.java:325)
at javax.rmi.CORBA.Util.readAny(Util.java:237)
at test.fvd._Test_Tie._invoke(_Test_Tie.java:71)
at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:316)
at com.ibm.CORBA.iiop.ORB.process(ORB.java:2084)
at com.ibm.CORBA.iiop.WorkerThread.run(WorkerThread.java:167) 2. SUID Mismatch Exception - This exception occurs after applying a FixPack to the base 3.0.2 release. The problem relates to serialization of an instance of the javax.rmi.CORBA.Stub class. This has been found to occur when a topology is created with models and clones. java.io.InvalidClassException: javax.rmi.CORBA.Stub; Local class not compatible: stream classdesc serialVersionUID=-9010629488871140592 local class serialVersionUID=1087775603798577179
at java.lang.Throwable.<init>(Throwable.java:74)
at java.lang.Exception.<init>(Exception.java:38)
at java.io.IOException.<init>(IOException.java:38)
at java.io.ObjectStreamException.<init>(ObjectStreamException.java:23)
at java.io.InvalidClassException.<init>(InvalidClassException.java:42)
at java.io.ObjectStreamClass.setClass(ObjectStreamClass.java:237)
at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:730)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:323)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:220)
at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:734)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:323)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:220)
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:928)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:220)
at test.fvd.Client.main(Client.java:48) An e-fix #PQ38257 for 3.0.2.1, 3.0.2.2, 3.0.2.3 may be applied. This replaces the javax.rmi.CORBA.Stub class.If the migration is from 3.0.2.0 to any level of 3.0.2.x the e-fix mentioned above will allow the existing topology (with models and clones) to be migrated. However please note that this e-fix will not be included in any future 3.0.2 FixPack. The same e-fix must therefore be reapplied to all levels of 3.0.2.x as each level is migrated. If you have successfully migrated to 3.0.2.1, 3.0.2.2, or 3.0.2.3 already then there is no immediate need to apply the e-fix above. However please note that when moving from 3.0.2.1, 3.0.2.2, or 3.0.2.3 to release 3.5.x, the migration ofa topology containing models and clones will not work. The topology must then be re-created in 3.5.x. 3. org.omg.CORBA.MARSHAL Exception with FVD in stack trace - When a versioned serialized object is sent from the server to the client as a response the CORBA.MARSHAL Exception shown below will occur. This was fixed in 3.5.3 and 3.0.2.3.
An e-fix #87581 for 3.0.2.2 may be applied. This e-fix replaces only the ServerResponseImpl class.
An e-fix #88639 for 3.5.0, 3.5.1, 3.5.2 may be applied. This e-fix replaces only the ServerResponseImpl class. org.omg.CORBA.MARSHAL: minor code: 2 completed: Maybe
at java.lang.RuntimeException.<init>(RuntimeException.java:49)
at org.omg.CORBA.SystemException.<init>(SystemException.java:51)
at org.omg.CORBA.MARSHAL.<init>(MARSHAL.java:70)
at org.omg.CORBA.MARSHAL.<init>(MARSHAL.java:59)
at com.ibm.rmi.io.FVDCodeBaseImpl.meta(FVDCodeBaseImpl.java:114)
at com.ibm.org.omg.SendingContext.CodeBase_Tie.meta(CodeBase_Tie.java:139)
at com.ibm.CORBA.iiop.IIOPConnection.getFVD(Unknown Source)
at com.ibm.rmi.iiop.FVDCodeBaseDelegate.meta(FVDCodeBaseDelegate.java:84)
at com.ibm.rmi.io.IIOPInputStream.getOrderedDescriptions(IIOPInputStream.java:875)
at com.ibm.rmi.io.IIOPInputStream.inputObjectUsingFVD(IIOPInputStream.java(Compiled Code))
at com.ibm.rmi.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java(Compiled Code))
at com.ibm.rmi.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java(Compiled Code))
at com.ibm.rmi.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java(Compiled Code))
at com.ibm.rmi.iiop.CDRInputStream.read_value(CDRInputStream.java(Compiled Code))
at com.ibm.rmi.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java(Compiled Code))
at com.ibm.rmi.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java(Compiled Code))
at com.ibm.rmi.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java(Compiled Code))
at com.ibm.rmi.iiop.CDRInputStream.read_value(CDRInputStream.java(Compiled Code))
at com.ibm.ejs.sm.beans._SeriousEventReader_BaseStub.read(_SeriousEventReader_BaseStub.java:262)
at com.ibm.ejs.sm.beans._SeriousEventReader_Stub.read(_SeriousEventReader_Stub.java:122)
at com.ibm.ejs.sm.client.SeriousEventClient.setFirstSeriousMessage(SeriousEventClient.java:232)
at com.ibm.ejs.sm.client.SeriousEventClient.<init>(SeriousEventClient.java:47)
at com.ibm.ejs.sm.client.ui.SeriousEventMessagePanelUpdater.<init>(SeriousEventMessagePanelUpdater.java:48)
at com.ibm.ejs.sm.client.ui.EJSConsole.<init>(EJSConsole.java:501)
at com.ibm.ejs.sm.client.ui.EJSConsole.main(EJSConsole.java:1353)
Serialization Interoperability Problem Matrix The numbers represent which problems described above affect interoperability between different levels.  | 3.0.2.0 | 3.0.2.1 | 3.0.2.2 | 3.0.2.3 | 3.5.0 | 3.5.1 | 3.5.2 | 3.5.3 | 3.0.2.0 | 1,3 | 1,2,3 | 1,2,3 | 1,2,3 | 1,3 | 1,3 | 1,3 | 1,3 | 3.0.2.1 | 1,2,3 | 1,3 | 1,2,3 | 1,2,3 | 1,2,3 | 1,2,3 | 1,2,3 | 1,2,3 | 3.0.2.2 | 1,2,3 | 1,2,3 | 3 | 3 | 2,3 | 2,3 | 2,3 | 2,3 | 3.0.2.3 | 1,2,3 | 1,2,3. | 3,4 | OK | 2,3 | 2,3 | 2,3 | 2 | 3.5.0 | 1,3 | 1,2,3 | 2,3,4 | 2,3 | 3 | 3 | 3 | 3 | 3.5.1 | 1,3 | 1,2,3 | 2,3,4 | 2,3 | 3 | 3 | 3 | 3 | 3.5.2 | 1,3 | 1,2,3 | 2,3,4 | 2,3 | 3 | 3 | 3 | 3 | 3.5.3 | 1,3 | 1,2,3 | 2,3,4 | 2 | 3 | 3 | 3 | OK |
Serialization Interoperability E-Fix Matrix The numbers represent which problems still exist after applying the e-fixes mentioned above. The + #2 or #3 represent the e-fix which must be applied. v = validation testing done

|  3.0.2.0 |  3.0.2.1 + #2 |  3.0.2.2 +#2,#3 |  3.0.2.3 + #2 |  3.5.0 + #3 |  3.5.1 + #3 |  3.5.2 + #3 |  3.5.3 |  3.0.2.0 | 
1,3 | 
1,3 | 
1,3 | 
1,3 | 
1,3 | 
1,3 | 
1,3 | 
1,3 |  3.0.2.1 + #2 | 
1,3 | 
1,3 | 
1,3 | 
1,3 | 
1,3 | 
1,3 | 
1,3 | 
1,3 |  3.0.2.2 + #2,#3 | 
1,3 | 
1,3 | 
OK v | 
OK v | 
1 | 
1 | 
1 | 
1 |  3.0.2.3 + #2 | 
1,3 | 
1,3 | 
OK v | 
OK v | 
OK v | 
OK v | 
OK v | 
OK v |  3.5.0 + #3 | 
1,3 | 
1,3 | 
1 | 
OK v | 
OK | 
OK | 
OK | 
OK v |  3.5.1 + #3 | 
1,3 | 
1,3 | 
1 | 
OK v | 
OK | 
OK | 
OK | 
OK |  3.5.2 + #3 | 
1,3 | 
1,3 | 
1 | 
OK v | 
OK | 
OK | 
OK | 
OK |  3.5.3 | 
1,3 | 
1,3 | 
1 | 
OK v | 
OK v | 
OK | 
OK | 
OK v |
| |
| | Cross Reference information | Segment | Product | Component | Platform | Version | Edition |
---|
Web Application Servers | Component Broker | | | | | Web Application Servers | WebSphere Application Server | | | | |
|
| |
|
Product categories: Software, Application Servers, Distributed Application & Web Servers, WebSphere Application Server, Servlet Engine/Web Container Operating system(s): All Platforms Software version: 3.0.2, 3.0.2.1, 3.0.2.2, 3.5, 3.5.1, 3.5.2 Software edition: Advanced Reference #: 1005578 IBM Group: Software Group Modified date: 2001-01-03
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.
|