Anonymous | Login | Signup for a new account | 11-21-2024 20:51 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Advanced Details [ Jump to Notes ] | [ View Simple ] [ Issue History ] [ Print ] | |||||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | |||||||
0003030 | [Hessian] | major | always | 10-30-08 01:43 | 04-21-10 05:37 | |||||||
Reporter | shawnchain | View Status | public | |||||||||
Assigned To | ||||||||||||
Priority | normal | Resolution | open | Platform | ||||||||
Status | new | OS | ||||||||||
Projection | none | OS Version | ||||||||||
ETA | none | Fixed in Version | Product Version | 3.1.5 | ||||||||
Product Build | ||||||||||||
Summary | 0003030: Server side exception could not be serialized to cilent side. | |||||||||||
Description |
I have a service setup and exposed with Spring-Remoting/Hessian. The server side API might throw some IOException or FileNotFoundException. But at client side, I got the HessianProtocolException instead of the desired IOException. The problem is gone after revert back to hessian 3.1.3. Below is the error stack trace com.caucho.hessian.io.HessianProtocolException: readObject: unexpected end of file at com.caucho.hessian.io.Hessian2Input.error(Hessian2Input.java:2701) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2010) at com.caucho.hessian.io.AbstractMapDeserializer.readObject(AbstractMapDeserializer.java:67) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1756) at com.caucho.hessian.io.ArrayDeserializer.readList(ArrayDeserializer.java:95) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1703) 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:376) at com.caucho.hessian.io.Hessian2Input.readObjectInstance(Hessian2Input.java:2054) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1980) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1972) at com.caucho.hessian.io.Hessian2Input.readFault(Hessian2Input.java:1629) at com.caucho.hessian.io.Hessian2Input.prepareFault(Hessian2Input.java:428) at com.caucho.hessian.io.Hessian2Input.startReply(Hessian2Input.java:417) at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:218) at $Proxy0.createFile(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:585) at org.springframework.remoting.caucho.HessianClientInterceptor.invoke(HessianClientInterceptor.java:219) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy1.createFile(Unknown Source) at com.alibaba.platform.aranda.client.HessianClientTest.testCreateFile(HessianClientTest.java:62) 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:585) at junit.framework.TestCase.runTest(TestCase.java:164) at junit.framework.TestCase.runBare(TestCase.java:130) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:120) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) org.springframework.remoting.RemoteAccessException: Cannot access Hessian remote service at [http://localhost:8080/aranda/service/hessian]; [^] nested exception is com.caucho.hessian.io.HessianFieldException: java.lang.Throwable.stackTrace: readObject: unexpected end of file at org.springframework.remoting.caucho.HessianClientInterceptor.convertHessianAccessException(HessianClientInterceptor.java:254) at org.springframework.remoting.caucho.HessianClientInterceptor.invoke(HessianClientInterceptor.java:225) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy1.createFile(Unknown Source) at com.alibaba.platform.aranda.client.HessianClientTest.testCreateFile(HessianClientTest.java:62) 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:585) at junit.framework.TestCase.runTest(TestCase.java:164) at junit.framework.TestCase.runBare(TestCase.java:130) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:120) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) Caused by: com.caucho.hessian.io.HessianFieldException: java.lang.Throwable.stackTrace: readObject: unexpected end of file at com.caucho.hessian.io.JavaDeserializer.logDeserializeError(JavaDeserializer.java:590) at com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:391) 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:376) at com.caucho.hessian.io.Hessian2Input.readObjectInstance(Hessian2Input.java:2054) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1980) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1972) at com.caucho.hessian.io.Hessian2Input.readFault(Hessian2Input.java:1629) at com.caucho.hessian.io.Hessian2Input.prepareFault(Hessian2Input.java:428) at com.caucho.hessian.io.Hessian2Input.startReply(Hessian2Input.java:417) at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:218) at $Proxy0.createFile(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:585) at org.springframework.remoting.caucho.HessianClientInterceptor.invoke(HessianClientInterceptor.java:219) ... 20 more Caused by: com.caucho.hessian.io.HessianProtocolException: readObject: unexpected end of file at com.caucho.hessian.io.Hessian2Input.error(Hessian2Input.java:2701) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2010) at com.caucho.hessian.io.AbstractMapDeserializer.readObject(AbstractMapDeserializer.java:67) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1756) at com.caucho.hessian.io.ArrayDeserializer.readList(ArrayDeserializer.java:95) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1703) at com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:387) ... 36 more |
|||||||||||
Steps To Reproduce | ||||||||||||
Additional Information | ||||||||||||
Attached Files | ||||||||||||
|
Notes | |
(0004538) schatterjee 04-21-10 05:37 edited on: 04-21-10 05:38 |
I found a possible solution to this and have attached my proposed fix to bug no. 4011 ( http://bugs.caucho.com/view.php?id=4011 [^] ) |
Issue History | |||
Date Modified | Username | Field | Change |
10-30-08 01:43 | shawnchain | New Issue | |
04-21-10 05:37 | schatterjee | Note Added: 0004538 | |
04-21-10 05:38 | schatterjee | Note Edited: 0004538 |
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
30 total queries executed. 26 unique queries executed. |