Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [riena-dev] com.caucho.hessian.io.HessianFieldException

Hi Yau,

Yes, seems that there is something wrong with the deserialization.
Could you please open a bug for this? It would be very helpful if you could attach a minimal example showing the failure. Or at least all the classes which get transferred.

Tschüß,
Stefan

On 30.05.2010 12:26, Yau wrote:
Hi, I encounted a problem about deserialize:

The exception stack print:
===============================

com.caucho.hessian.client.HessianRuntimeException: com.caucho.hessian.io.HessianFieldException: alphax.db.types.Record.updateState: alphax.db.types.ItemPointer ((0,1)) cannot be assigned to net.yau.lib.UpdateState
  at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:213)
  at $Proxy28.list(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:597)
  at org.eclipse.riena.communication.core.hooks.AbstractHooksProxy.invoke(AbstractHooksProxy.java:69)
  at org.eclipse.riena.communication.core.hooks.AbstractHooksProxy.invoke(AbstractHooksProxy.java:38)
  at org.eclipse.riena.internal.communication.core.factory.CallHooksProxy.invoke(CallHooksProxy.java:59)
  at $Proxy29.list(Unknown Source)
  at alphax.clientservices.recCaches.RecCacheManager_Ent.reload(RecCacheManager_Ent.java:23)
  at alphax.clientservices.recCaches.AbstractRecCacheManager.get(AbstractRecCacheManager.java:18)
  at alphax.clientservices.providers.EntInfoProvider.list(EntInfoProvider.java:64)
  at alphax.clientbasicui.entBrowser.EntBrowserTreeNodesBuilder.build(EntBrowserTreeNodesBuilder.java:21)
  at alphax.clientbasicui.entBrowser.EntBrowserTreeView.reloadDataIntoView(EntBrowserTreeView.java:324)
  at alphax.clientbasicui.entBrowser.EntBrowserTreeView.createPartControl(EntBrowserTreeView.java:320)
  at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:367)
  at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:226)
  at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
  at org.eclipse.ui.internal.WorkbenchPage$ActivationList.setActive(WorkbenchPage.java:4212)
  at org.eclipse.ui.internal.WorkbenchPage$18.runWithException(WorkbenchPage.java:3271)
  at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
  at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
  at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
  at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3855)
  at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3476)
  at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
  at org.eclipse.ui.internal.Workbench$28.runWithException(Workbench.java:1384)
  at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
  at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
  at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
  at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3855)
  at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3476)
  at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2316)
  at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
  at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
  at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
  at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
  at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
  at alphax.workbench.Application.start(Application.java:20)
  at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
  at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
  at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
  at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
  at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
  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:597)
  at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
  at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
  at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
  at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
Caused by: com.caucho.hessian.io.HessianFieldException: alphax.db.types.Record.updateState: alphax.db.types.ItemPointer ((0,1)) cannot be assigned to net.yau.lib.UpdateState
  at com.caucho.hessian.io.JavaDeserializer.logDeserializeError(JavaDeserializer.java:589)
  at com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:387)
  at com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:233)
  at com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:157)
  at com.caucho.hessian.io.SerializerFactory.readObject(SerializerFactory.java:364)
  at com.caucho.hessian.io.Hessian2Input.readObjectInstance(Hessian2Input.java:2017)
  at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1943)
  at com.caucho.hessian.io.CollectionDeserializer.readList(CollectionDeserializer.java:78)
  at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1666)
  at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:201)
  ... 52 more


The interface is:
===================
public interface IDataService_Ent {

  List<EntRec>  list(String[] entNos, int[] primaryRoles, boolean loadDetail);
}

I think this exception is heppened when deserialize the EntRec object,

The EntRec class:
===================
public class EntRec extends Record implements IFieldSource_EntNo, IFieldSource_FastCode{
  private static final long serialVersionUID = 1L;

  private String F_ENT_NO;
  private String F_SHORT_NAME;
  ....
}


The EntRec base on the Record class:
====================
public abstract class Record implements Serializable, IUpdatable, Cloneable, IAssignable, IAdaptable{

  private static final long serialVersionUID = 1L;

  protected UpdateState updateState = UpdateState.US__UNMODIFIED;
  private int XMIN;
  private ItemPointer CTID;
  ...
}

I dont known what's wrong, if the server return the list cantain only one element, the invocation is Ok, but when server return 2 elements, client side throws this exception.

Yau.


-------------------------------------------------------------
compeople AG
Untermainanlage 8
60329 Frankfurt/Main
fon: +49 (0) 69 / 27 22 18 0
fax: +49 (0) 69 / 27 22 18 22
web: http://www.compeople.de/

Vorstand: Jürgen Wiesmaier
Aufsichtsratsvorsitzender: Christian Glanz

Sitz der Gesellschaft: Frankfurt/Main
Handelsregister Frankfurt HRB 56759
Ust-Ident.-Nr: DE207665352
-------------------------------------------------------------


Back to the top