hessian异常

来源:互联网 发布:网页压缩减肥软件 编辑:程序博客网 时间:2024/06/05 03:59

源自:http://fancyboy2050.iteye.com/blog/716967

试了下hessian的远程调用,网上例子很多,随便down了几个下来测试,结果都有异常: 

Java代码  收藏代码
  1. 2010-7-20 13:42:34 com.caucho.hessian.io.SerializerFactory getDeserializer  
  2. 警告: Hessian/Burlap: 'work' is an unknown class in sun.misc.Launcher$AppClassLoader@19821f:  
  3. java.lang.ClassNotFoundException: work  
  4. java.lang.reflect.UndeclaredThrowableException  
  5.     at $Proxy0.getMap(Unknown Source)  
  6.     at hessian.TestHessian.main(TestHessian.java:21)  
  7. Caused by: java.io.EOFException: readObject: unexpected end of file  
  8.     at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2054)  
  9.     at com.caucho.hessian.io.CollectionDeserializer.readLengthList(CollectionDeserializer.java:93)  
  10.     at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1995)  
  11.     at com.caucho.hessian.io.CollectionDeserializer.readLengthList(CollectionDeserializer.java:93)  
  12.     at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1995)  
  13.     at com.caucho.hessian.io.MapDeserializer.readMap(MapDeserializer.java:114)  
  14.     at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1592)  
  15.     at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:253)  
  16.     ... 2 more  
  17. java.lang.reflect.UndeclaredThrowableException  


Java代码  收藏代码
  1. Exception in thread "main" com.caucho.hessian.client.HessianRuntimeException: com.caucho.hessian.io.HessianProtocolException: expected integer at 0x53 java.lang.String (com.luochao.hessian.dto.NoteBook)  
  2.     at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:268)  
  3.     at $Proxy0.getNoteBook(Unknown Source)  
  4.     at com.luochao.hessian.test.TestHessian2.main(TestHessian2.java:15)  
  5. Caused by: com.caucho.hessian.io.HessianProtocolException: expected integer at 0x53 java.lang.String (com.luochao.hessian.dto.NoteBook)  
  6.     at com.caucho.hessian.io.Hessian2Input.error(Hessian2Input.java:2765)  
  7.     at com.caucho.hessian.io.Hessian2Input.expect(Hessian2Input.java:2736)  
  8.     at com.caucho.hessian.io.Hessian2Input.readInt(Hessian2Input.java:796)  
  9.     at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1621)  
  10.     at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:253)  
  11.     ... 2 more  


只有返回String能正常,遇到Map,List,JavaBean等都出现异常,网上也没找到相关异常描述; 
最后解决,resin3.1服务器自带了hessian.jar的包,和我使用的不一致导致了异常。 
大家出现异常时也可以查看下hessian包是否有服务器端和客户端不一致,或者是服务器自带了不同版本的hessian.jar包

0 0