Class serialization help (org.omg.CORBA.MARSHAL: WARNUNG: IOP00810011: Exception ... error)

I have the following interface:

public interface Ranged { public Object getRangeStart(); public Object getRangeEnd(); public void setRangeStart(Object rangeStart); public void setRangeEnd(Object rangeEnd); } 

and the following implementation class:

 public class DateRange implements Ranged, Serializable { private static final long serialVersionUID=SerialVersionUID.getSerialVersionUID(); public DateRange() { } private Date dateFrom; private Date dateTo; public Object getRangeStart() { return (Date)dateFrom; } public Object getRangeEnd() { return (Date)dateTo; } public void setRangeStart( Object from ) { this.dateFrom = (Date)from; } public void setRangeEnd( Object to ) { this.dateTo = (Date)to; } } 

I use the DateRange class as follows:

 ... private DateRange creationDate; private Date rangeStart; private Date rangeStop; ... public DateRange getCreationDate() { SimpleDateFormat sdf_incoming = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf_outgoing = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); creationDate = null; try { if (!isDateRange()) { if (!rangeStart.toString().equals("")) { creationDate = new DateRange(); creationDate.setRangeStart(sdf_outgoing.parse(sdf_incoming.format(rangeStart) + TIME_0)); creationDate.setRangeEnd(sdf_outgoing.parse(sdf_incoming.format(rangeStart) + TIME_24)); } } else { if (!rangeStart.toString().equals("") && rangeStop.toString().equals("")) { creationDate = new DateRange(); creationDate.setRangeStart(sdf_outgoing.parse(sdf_incoming.format(rangeStart) + TIME_0)); creationDate.setRangeEnd(sdf_outgoing.parse(MAX_DATE)); } else if (rangeStart.toString().equals("") && !rangeStop.toString().equals("")) { creationDate = new DateRange(); creationDate.setRangeStart(sdf_outgoing.parse(MIN_DATE)); creationDate.setRangeEnd(sdf_outgoing.parse(sdf_incoming.format(rangeStop) + TIME_24)); } else // both set { creationDate = new DateRange(); creationDate.setRangeStart(sdf_outgoing.parse(sdf_incoming.format(rangeStart) + TIME_0)); creationDate.setRangeEnd(sdf_outgoing.parse(sdf_incoming.format(rangeStop) + TIME_24)); } } } catch (ParseException e) { e.printStackTrace(); } return creationDate; } ... 

This happens on the client side, and when createDate should be serialized and passed to the server, I get the following error:

[exec] 2011-12-06T13: 34: 00.132 + 0100 | WARNING | glassfish3.1 | javax.enterprise.resource.corba.ORBUtil | _ThreadID = 17; _ThreadName = Thread-1; | IOP00810011: Exception from readValue on ValueHandler in CDRInputStream [exec] org.omg.CORBA.MARSHAL: WARNUNG: IOP00810011: Exception from readValue on ValueHandler in CDRInputStream vmcid: additional OMG code: 11 completed: possibly [exec] atrepertative Sunfunctioner sunreflectorrector.performerNative .newInstance0 (native method) [exec] at sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:39) [exec] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImava.lava.plava. reflect.Constructor.newInstance (Constructor.java∗13) [exec] in com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException (CorbaExtension.java:248) [exec] in com.sun. corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException (CorbaExtension.java:95) [exec] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.ha ndleFullLogging (WrapperGenerator.javahaps87) [exec] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access $ 400 (WrapperGenerator.java:107) [exec] at com.sun.corba.ee.spi .orbutil.logex.WrapperGenerator $ 2.invoke (WrapperGenerator.javaPoint11) [exec] on com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke (CompositeInvocationHandlerImpl.java:99) [exec] in $ Proxy157 .valuehandlerReadException (Unknown source) [exec] in com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType (CDRInputStream_1_0.java:1022) [exec] in com.sun.corba.ee.implRen_stream read_value (CDRInputStream_1_0.java:1123) [exec] in com.sun.corba.ee.impl.encoding.CDRInputObject.read_value (CDRInputObject.java►31) [exec] in com.sun.corba.ee.impl.io. IIOPInputStream.inputObjectField (IIOPInputStream.java:2162) [exec] on com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields (IIOPInputStream.java:2404) [exec] in com.sun.corba.ee.impl.io.IIOPInputStream.inputObject (IIOPInputStream.java:1224) [exec] in com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject (IIOPInputStream.java: 425) [exec] in com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal (ValueHandlerImpl.java:308) [exec] in com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue (ValueHandlerImpl. java: 274) [exec] in com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType (CDRInputStream_1_0.java:1015) [exec] in com.sun.corba.ee.impl.encoding.CDRInputStream_1 CDRInputStream_1_0.java:1123) [exec] in com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value (CDRInputStream_1_0.java:935) [exec] in com.sun.corba.ee.impl.encoding.CDRInput. read_abstract_interface (CDRInputStream_1_0.java:928) [exec] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_abstract_interface (CDRInputStream_1_0.java:918) [exec] at com.sun.corba.ee.pl.imod g.CDRInputObject.read_abstract_interface (CDRInputObject.javahaps57) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.readObjectDelegate (IIOPInputStream.javahaps91) [exec] in com.sun.corba.ee. impl.io.IIOPInputStream.readObjectOverride (IIOPInputStream.javaPoint44) [exec] in java.io.ObjectInputStream.readObject (ObjectInputStream.javahaps45) [exec] in java.util.ArrayList.readObject (ArrayList.java∗93) [exec] at sun.reflect.NativeMethodAccessorImpl.invoke0 (native method) [exec] at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) [exec] at sun.reflect.DelegatingMethodAccessorImpl.invokejeth2525 delegation ) [exec] in java.lang.reflect.Method.invoke (Method.java►97) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.invokeObjectReader (IIOPInputStream.java:1832) [exec] in com.sun.corba.ee.impl.io.IIOPInputStream.inputObject (IIOPInputStream.java:1214) [exec] in com.sun.corba.ee.im pl.io.IIOPInputStream.simpleReadObject (IIOPInputStream.java:425) [exec] in com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal (ValueHandlerImpl.java:308) [exec] at com.sun.corba. ee.impl.io.ValueHandlerImpl.readValue (ValueHandlerImpl.Java: 274) [exec] in com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType (CDRInputStream_1_0.java:1015). corba.ee.impl.encoding.CDRInputStream_1_0.read_value (CDRInputStream_1_0.java:1123) [exec] in com.sun.corba.ee.impl.encoding.CDRInputObject.read_value (CDRInputObject.java∗31) [exec] com sun.corba.ee.impl.io.IIOPInputStream.inputObjectField (IIOPInputStream.java:2162) [exec] on com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields (IIOPInputStream.java:2404) [exec] in com.sun.corba.ee.impl.io.IIOPInputStream.inputObject (IIOPInputStream.java:1224) [exec] in com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject (IIOPInputStream.java:425) [exec ] at com.su n.corba.ee.impl.io.ValueHandlerImpl.readValueInternal (ValueHandlerImpl.java:308) [exec] in com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue (ValueHandlerImpl.java:274) [exec] in com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType (CDRInputStream_1_0.java:1015) [exec] in com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_valream_1_R1_1_R1_1_0_R1_0_1_0_1_0.pri ] at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value (CDRInputObject.java=31) [exec] at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl $ 14.read (DynamicMethodMarshallerImpl.java : 384) [exec] at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.jpg:451) [exec] at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readArguments (DynamicMethodMarshallerImpl.java:451) .invoke (ReflectiveTie.java:172) [exec] at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant (CorbaServerRequestDispatcherImpl.java∗28) [exec] at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch (CorbaServerRequestDispatcherImpl.java:199) [exec] at com.sun.corba.ee.impl.protocolMplestleplestlepllele.plestlepllele.pl 1624) [exec] at com.sun.corba.ee.impl.protocol.SharedCDRClientRequestDispatcherImpl.marshalingComplete (SharedCDRClientRequestDispatcherImpl.java:126) [exec] at com.sun.corba.ee.impl.protocol.CorbaClientDebleate. java: 273) [exec] at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke (StubInvocationHandlerImpl.java:200) [exec] at com.sun.corba.ee.impl.presentation.rmi. StubInvocationHandlerImpl.invoke (StubInvocationHandlerImpl.java:152) [exec] in com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke (CodegenStubBase.java:227) [exec] in ch.ethz.id. wai.lakshmi.engine.ejb._LakshmiServerInterfaceBeanRemote_Remote_DynamicStub.submitOrderContex t (ch / ethz / id / wai / lakshmi / engine / ejb / __ LakshmiServerInter faceBeanRemote_Remote_DynamicStub.java) [exec] in ch.ethz.id.wai.lakshmi.engine.ejb._LakshmiServerInterfaceBeanRemoterraonrroteTr wai / lakshmi / engine / ejb / _LakshmiServerInterfaceBeanRemot e_Wrapper.java) [exec] in ch.ethz.id.wai.web.controller.Controller.submitOrder (Controller.java:49) [exec] in ch.ethz.id.wai .doi.DoiListController.submitOrder (DoiListController.java:56) [exec] in ch.ethz.id.wai.web.controller.ListController.selectData (ListController.java:54) [exec] at sun.reflect.NativeMethodAccessorImpl.invoke0 (native method) [exec] at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) [exec] at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) [exec] in java.lang.reflect. Method.invoke (Method.javaPoint97) [exec] at com.sun.el.parser.AstValue.invoke (AstValue.java:234) [exec] a t com.sun.el.MethodExpressionImpl.invoke (MethodExpressionImpl.java:297) [exec] in com.sun.faces.facelets.el.TagMethodExpression.invoke (TagMethodExpression.java:105) [exec] in com.sun.faces .facelets.tag.jsf.core.DeclarativeSystemEventListener.processEvent (EventHandler.java:131) [exec] in javax.faces.component.UIComponent $ ComponentSystemEventListenerAdapter.processEvent (UIComponent.java:2508) [exec] in javaxfaces.e .SystemEvent.processListener (SystemEvent.java:106) [exec] in com.sun.faces.application.ApplicationImpl.processListeners (ApplicationImpl.java:2129) [exec] in com.sun.faces.application.ApplicationImpl.invokeComponentListenersFor (ApplicationImpl .java: 2077) [exec] in com.sun.faces.application.ApplicationImpl.publishEvent (ApplicationImpl.java:286) [exec] in com.sun.faces.application.ApplicationImpl.publishEvent (ApplicationImpl.java:244) [ exec] in com.sun.faces.lifecycle.RenderResponsePhase.execute (RenderResponsePhase.java:108) [exec] in com.sun.faces.lifecycle.Phase.doPhase (Phase.java:101) [exec] in com.sun.faces.lifecycle.LifecycleImpl.render (LifecycleImpl.java:139) [exec] in javax. faces.webapp.FacesServlet.service (FacesServlet.java:410) [exec] at org.apache.catalina.core.StandardWrapper.service (StandardWrapper.java:1534) [exec] at org.apache.catalina.core.StandardWrapperValve. invoke (StandardWrapperValve.java:281) [exec] in org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:175) [exec] in org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java: 655) [exec] on org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java=95) [exec] on com.sun.enterprise.web.WebPipeline.invoke (WebPipeline.java:98) [exec] on com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke (PESessionLockingStandardPipeline.java:91) [exec] at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:162) [exec] at org.apache.catalina.connector.CoyoteAdapter.doService (CoyoteAdapter.java:326) [exec] at org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:227) [exec] in com. sun.enterprise.v3.services.impl.ContainerMapper.service (ContainerMapper.java:170) [exec] in com.sun.grizzly.http.ProcessorTask.invokeAdapter (ProcessorTask.java:822) [exec] in com.sun. grizzly.http.ProcessorTask.doProcess (ProcessorTask.java:719) [exec] at com.sun.grizzly.http.ProcessorTask.process (ProcessorTask.java:1013) [exec] at com.sun.grizzly.http.DefaultProtocolFilter. execute (DefaultProtocolFilter.java:225) [exec] at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter (DefaultProtocolChain.java:137) [exec] in com.sun.grizzly.DefaultProtocolChain.execute (DefaultProtocolChain.java:104) [ ] at com.sun.grizzly.DefaultProtocolChain.execute (DefaultProtocolChain.java:90) [exec] at com.sun.grizzly.http.HttpProtocolChain.execute (HttpProtocolChain. java: 79) [exec] at com.sun.grizzly.ProtocolChainContextTask.doCall (ProtocolChainContextTask.java:54) [exec] at com.sun.grizzly.SelectionKeyContextTask.call (SelectionKeyContextTask.java:59) [exec] in com. sun.grizzly.ContextTask.run (ContextTask.java:71) [exec] at com.sun.grizzly.util.AbstractThreadPool $ Worker.doWork (AbstractThreadPool.java∗32) [exec] in com.sun.grizzly.util. AbstractThreadPool $ Worker.run (AbstractThreadPool.java∗13) [exec] in java.lang.Thread.run (Thread.java:619) [exec] Called: java.lang.NullPointerException [exec] in com.sun.corba. ee.impl.orbutil.ClassInfoCache $ ClassInfo. (ClassInfoCache.java:156) [exec] at com.sun.corba.ee.impl.orbutil.ClassInfoCache.get (ClassInfoCache.java:281) [exec] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0 .read_value (CDRInputStream_1_0.java:1097) [exec] in com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value (CDRInputStream_1_0.java:935) [exec] in com.sun.corba.ee.impl.encoding .CDRInputStream_1_0.read_abstract_interface (CDRInputStream_1_0.java:928) [exec] in com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_abstract_interface (CDRInputStream_1_0.java:918.im.pl] atl .encoding.CDRInputObject.read_abstract_interface (CDRInputObject.javaPoint57) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.readObjectDelegate (IIOPInputStream.javahaps91) [exec] in com.sun.corba.ee .impl.io.IIOPInputStream.readObjectOverride (IIOPInputStream.javaPoint44) [exec] in java.io.ObjectInputStream.readObject (ObjectInputStream.javahaps45) [exec] in java.util.HashMap.readObje ct (HashMap.java:1030) [exec] at sun.reflect.NativeMethodAccessorImpl.invoke0 (native) [exec] on sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) [exec] at sun.reflect.DelegatingMeth .invoke (DelegatingMethodAccessorImpl.java:25) [exec] in java.lang.reflect.Method.invoke (Method.java►97) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.invokeObjectReader (IIOPInputStream .java: 1832) [exec] in com.sun.corba.ee.impl.io.IIOPInputStream.inputObject (IIOPInputStream.java:1214) [exec] in com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject (IIOPInputStream.java:425) [exec] in com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal (ValueHandlerImpl.java:308) [exec] in com.sun.corba.ee.impl.io.ValueHandlerImpl .readValue (ValueHandlerImpl.java:274) [exec] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType (CDRInputStream_1_0.java:1015) [exec] ... another 98 [exec] | #] [DONE]

Am I missing something? I am really lost. DateRange implements Serializable and (java.util). The date must also be serialized. Let me know if more information is needed.

+6
source share
2 answers

An error has been detected. The DateRange class was not server-side, so the server did not know how to de-serialize it.

+5
source

I had a similar mistake with another criminal. In particular, I had Windows GlassFish 3.1.2.2 installed (working with Java 8u60), and a glass fish was installed in the "C: \ Program Files" directory. That was the problem. Moving glass fish the other way without a space allowed this.

For what it's worth, my specific design is the @Remote interface, which is introduced using @EJB as follows.

Interface

 @Remote public interface MyInterface { Collection<MyEntity> getEntities(); } 

Implementation

 @Stateless(mappedName"myMappedName") public class MyImplementation implements MyInterface { ... } 

User

 @Stateless public class MyUserClass { @EJB(lookup = "myMappedName") MyInterface myInterfaceInstance; public void SomeFunction { Collection<MyEntity> entities = myInterfaceInstance.getEntities(); 

The whole package is as follows:

 EAR |____WAR (EJB @Remote Interface, Entity, @Remote user) | |____WAR (EJB @Remote class) 

The problem exists in com.sun.corba.ee.impl.util.Utility # loadClassOfType when it tries to find the class-derserialize in remoteCodeBase.

0
source

Source: https://habr.com/ru/post/903190/


All Articles