序列化 – 当通过远程EJB从数据库加载数据时,Java Web Start应用程序会给出MARSHAL异常

我有一个
Java Web Start应用程序调用远程Java EE 5 EJB来加载数据库中的数据.当数据从EJB返回到客户端时,我得到以下异常.在线查看,似乎每个人都有这个例外,每个人都有不同的解决方案.

>我的所有实体(抽象或非抽象)实现Serializable并具有serialVersionUID.
>客户端和服务器正在运行完全相同的JVM 1.6.0_20
>我正在使用EclipseLink作为JPA提供程序运行GlassFish v2.1.1.
>我的一些实体使用枚举,但1.6.0_20没有枚举序列化错误.
>我在将它们传递给客户端之前初始化了服务器端的所有延迟加载关系.

This person似乎认为这个问题可能是由于从一个实体到它自身的双向@ OneToMany / @ ManyToOne关系造成的,但是我已经在这个程序的早期版本中没有问题了.

这来自Java Web Start控制台:

Jul 14, 2010 1:59:23 PM com.myCompany.mis.science.ScienceApp lookupJndi
INFO: Connecting to CORBA Host: localhost
Hello 0
Jul 14, 2010 1:59:36 PM com.sun.corba.ee.impl.encoding.CDRInputStream_1_0 readRMIIIOPValueType
WARNING: "IOP00810211: (MARSHAL) Exception from readValue on ValueHandler in CDRInputStream<<Context:ReaderWriter[value(com.myCompany.mis.science.schedule.jpa.Schedule)]:com.myCompany.mis.science.schedule.jpa.Schedule.experimentBlockList,org.eclipse.persistence.indirection.IndirectList.delegate,java.util.Vector.elementData,[Ljava.lang.Object;<464>[0],com.myCompany.mis.science.schedule.jpa.ExperimentBlock.experiment,com.myCompany.mis.science.experiment.jpa.Experiment.reportList,org.eclipse.persistence.indirection.IndirectList.valueHolder,org.eclipse.persistence.internal.indirection.UnitOfWorkQueryValueHolder.value,org.eclipse.persistence.indirection.IndirectList.valueHolder>>"
org.omg.CORBA.MARSHAL:   vmcid: SUN  minor code: 211 completed: Maybe
 at com.sun.corba.ee.impl.logging.ORBUtilSystemException.valuehandlerReadException(ORBUtilSystemException.java:8516)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:973)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2009)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
 at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:896)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:466)
 at com.sun.corba.ee.impl.corba.TCUtility.unmarshalIn(TCUtility.java:296)
 at com.sun.corba.ee.impl.corba.AnyImpl.read_value(AnyImpl.java:610)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:748)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_any(CDRInputStream.java:406)
 at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.readAny(Util.java:504)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1937)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
 at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2009)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
 at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2009)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
 at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2009)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
 at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:896)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:466)
 at com.sun.corba.ee.impl.corba.TCUtility.unmarshalIn(TCUtility.java:296)
 at com.sun.corba.ee.impl.corba.AnyImpl.read_value(AnyImpl.java:610)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:748)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_any(CDRInputStream.java:406)
 at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.readAny(Util.java:504)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:695)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:361)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2009)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
 at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2009)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
 at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2009)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
 at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475)
 at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl$14.read(DynamicMethodMarshallerImpl.java:382)
 at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readResult(DynamicMethodMarshallerImpl.java:483)
 at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:195)
 at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
 at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)
 at com.myCompany.mis.science.schedule.ejb.manager.__ScheduleManagerRemote_Remote_DynamicStub.getSchedule(com/myCompany/mis/science/schedule/ejb/manager/__ScheduleManagerRemote_Remote_DynamicStub.java)
 at com.myCompany.mis.science.schedule.ejb.manager._ScheduleManagerRemote_Wrapper.getSchedule(com/myCompany/mis/science/schedule/ejb/manager/_ScheduleManagerRemote_Wrapper.java)
 at com.myCompany.mis.science.schedule.editor.model.ScheduleModel.loadContent(ScheduleModel.java:375)

Trace message truncated for length over 10K
Jul 14, 2010 1:59:36 PM com.myCompany.mis.science.ScienceApp$1$1 uncaughtException
SEVERE: null
javax.ejb.EJBException: nested exception is: java.rmi.MarshalException: CORBA MARSHAL 1398079699 Maybe; nested exception is: 
 org.omg.CORBA.MARSHAL:   vmcid: SUN  minor code: 211 completed: Maybe
java.rmi.MarshalException: CORBA MARSHAL 1398079699 Maybe; nested exception is: 
 org.omg.CORBA.MARSHAL:   vmcid: SUN  minor code: 211 completed: Maybe
 at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:279)
 at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:205)
 at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
 at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)
 at com.myCompany.mis.science.schedule.ejb.manager.__ScheduleManagerRemote_Remote_DynamicStub.getSchedule(com/myCompany/mis/science/schedule/ejb/manager/__ScheduleManagerRemote_Remote_DynamicStub.java)
 at com.myCompany.mis.science.schedule.ejb.manager._ScheduleManagerRemote_Wrapper.getSchedule(com/myCompany/mis/science/schedule/ejb/manager/_ScheduleManagerRemote_Wrapper.java)
 at com.myCompany.mis.science.schedule.editor.model.ScheduleModel.loadContent(ScheduleModel.java:375)
 at com.myCompany.mis.science.schedule.editor.model.ScheduleModel.load(ScheduleModel.java:354)
 at com.myCompany.mis.science.schedule.editor.view.table.ScheduleTable.load(ScheduleTable.java:284)
 at com.myCompany.mis.science.schedule.editor.control.Actions$3.actionPerformed(Actions.java:303)
 at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
 at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
 at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
 at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
 at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
 at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
 at java.awt.Component.processMouseEvent(Component.java:6263)
 at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
 at java.awt.Component.processEvent(Component.java:6028)
 at java.awt.Container.processEvent(Container.java:2041)
 at java.awt.Component.dispatchEventImpl(Component.java:4630)
 at java.awt.Container.dispatchEventImpl(Container.java:2099)
 at java.awt.Component.dispatchEvent(Component.java:4460)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
 at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
 at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
 at java.awt.Container.dispatchEventImpl(Container.java:2085)
 at java.awt.Window.dispatchEventImpl(Window.java:2478)
 at java.awt.Component.dispatchEvent(Component.java:4460)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: org.omg.CORBA.MARSHAL:   vmcid: SUN  minor code: 211 completed: Maybe
 at com.sun.corba.ee.impl.logging.ORBUtilSystemException.valuehandlerReadException(ORBUtilSystemException.java:8516)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:973)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2009)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
 at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:896)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:466)
 at com.sun.corba.ee.impl.corba.TCUtility.unmarshalIn(TCUtility.java:296)
 at com.sun.corba.ee.impl.corba.AnyImpl.read_value(AnyImpl.java:610)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:748)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_any(CDRInputStream.java:406)
 at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.readAny(Util.java:504)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1937)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
 at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2009)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
 at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2009)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
 at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2009)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
 at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:896)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:466)
 at com.sun.corba.ee.impl.corba.TCUtility.unmarshalIn(TCUtility.java:296)
 at com.sun.corba.ee.impl.corba.AnyImpl.read_value(AnyImpl.java:610)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:748)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_any(CDRInputStream.java:406)
 at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.readAny(Util.java:504)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:695)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:361)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:475)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2009)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2240)
 at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
 at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:427)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
 at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:330)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:966)
 at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1052)
 at com.sun.corba.ee.impl.encoding.CDRInputStream.read_val
Trace message truncated for length over 10K

最佳答案 警告:如果你在网上搜索,你会看到这个错误信息出现在几个不同的问题上(请参阅我尝试过的失败的解决方案的问题),所以这个解决方案不是通用的.

在这种特殊情况下,这似乎是由EclipseLink版本1.1.2中引入的回归引起的,并且仍然存在于版本1.1.3,1.2.0和(跳过几个版本)最新版本2.1.0中.恢复到EclipseLink 1.1.1摆脱了这个错误.

它只出现在(远程)Java Web Start客户端应用程序中 – (本地)Web应用程序(使用相同的实体)没有遇到此问题.我仍然不确定程序中究竟是什么引发了这个bug.

点赞