Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

java

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 implementing 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 in the following way:

...
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 at the client side and when the creationDate should be serialized and passed to the server side, 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: OMG minor code: 11 completed: Maybe [exec] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [exec] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) [exec] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) [exec] at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [exec] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248) [exec] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95) [exec] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387) [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.java:511) [exec] at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99) [exec] at $Proxy157.valuehandlerReadException(Unknown Source) [exec] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1022) [exec] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1123) [exec] at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:531) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2162) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2404) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:425) [exec] at 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] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1015) [exec] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1123) [exec] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:935) [exec] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.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.impl.encoding.CDRInputObject.read_abstract_interface(CDRInputObject.java:557) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.readObjectDelegate(IIOPInputStream.java:391) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.readObjectOverride(IIOPInputStream.java:544) [exec] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:345) [exec] at java.util.ArrayList.readObject(ArrayList.java:593) [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] at java.lang.reflect.Method.invoke(Method.java:597) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1832) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1214) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:425) [exec] at 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] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1015) [exec] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1123) [exec] at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:531) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2162) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2404) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:425) [exec] at 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] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1015) [exec] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1123) [exec] at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:531) [exec] at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl$14.read(DynamicMethodMarshallerImpl.java:384) [exec] at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readArguments(DynamicMethodMarshallerImpl.java:451) [exec] at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.invoke(ReflectiveTie.java:172) [exec] at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:528) [exec] at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:199) [exec] at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624) [exec] at com.sun.corba.ee.impl.protocol.SharedCDRClientRequestDispatcherImpl.marshalingComplete(SharedCDRClientRequestDispatcherImpl.java:126) [exec] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.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] at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:227) [exec] at ch.ethz.id.wai.lakshmi.engine.ejb._LakshmiServerInterfaceBeanRemote_Remote_DynamicStub.submitOrderContext(ch/ethz/id/wai/lakshmi/engine/ejb/__LakshmiServerInter faceBeanRemote_Remote_DynamicStub.java) [exec] at ch.ethz.id.wai.lakshmi.engine.ejb._LakshmiServerInterfaceBeanRemote_Wrapper.submitOrderContext(ch/ethz/id/wai/lakshmi/engine/ejb/_LakshmiServerInterfaceBeanRemot e_Wrapper.java) [exec] at ch.ethz.id.wai.web.controller.Controller.submitOrder(Controller.java:49) [exec] at ch.ethz.id.wai.doi.DoiListController.submitOrder(DoiListController.java:56) [exec] at 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] at java.lang.reflect.Method.invoke(Method.java:597) [exec] at com.sun.el.parser.AstValue.invoke(AstValue.java:234) [exec] at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297) [exec] at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) [exec] at com.sun.faces.facelets.tag.jsf.core.DeclarativeSystemEventListener.processEvent(EventHandler.java:131) [exec] at javax.faces.component.UIComponent$ComponentSystemEventListenerAdapter.processEvent(UIComponent.java:2508) [exec] at javax.faces.event.SystemEvent.processListener(SystemEvent.java:106) [exec] at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2129) [exec] at com.sun.faces.application.ApplicationImpl.invokeComponentListenersFor(ApplicationImpl.java:2077) [exec] at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:286) [exec] at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:244) [exec] at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108) [exec] at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [exec] at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) [exec] at 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] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) [exec] at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655) [exec] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) [exec] at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98) [exec] at 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] at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170) [exec] at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822) [exec] at 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] at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) [exec] 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] at com.sun.grizzly.ContextTask.run(ContextTask.java:71) [exec] at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) [exec] at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) [exec] at java.lang.Thread.run(Thread.java:619) [exec] Caused by: java.lang.NullPointerException [exec] at 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] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:935) [exec] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.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.impl.encoding.CDRInputObject.read_abstract_interface(CDRInputObject.java:557) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.readObjectDelegate(IIOPInputStream.java:391) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.readObjectOverride(IIOPInputStream.java:544) [exec] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:345) [exec] at java.util.HashMap.readObject(HashMap.java:1030) [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] at java.lang.reflect.Method.invoke(Method.java:597) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1832) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1214) [exec] at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:425) [exec] at 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] at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1015) [exec] ... 98 more [exec] |#] [exec]

Am I missing something? I'm really lost. DateRange implements Serializable and (java.util)Date should also be serializable. Let me know if more informations are needed.

like image 430
Francesco Avatar asked Dec 06 '11 13:12

Francesco


1 Answers

Error found. The DateRange class was not on the server side, so the server didn't know how to de-serialize it.

like image 126
Francesco Avatar answered Sep 29 '22 14:09

Francesco