Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
Support Hessian 3.2.1 [SPR-5469] #10142
Currently, regardless in which protocol (hessian 1 or hessian 2) that the client requests, the Hessian2Input will always be used if the class is available in the classpath. It works in hessian 3.1.2 but no longer work s with hessian 3.2.1
I got the answer from hessian mailinglist that Hessian2Input does not support hessian 1 protocol. Adaptations are needed in Spring in order to support the new version of hessian.
Please refer to the post in forum.
Reference URL: http://forum.springframework.org/showthread.php?t=66876
2 votes, 4 watchers
Peter Dettman commented
I have attached a patch that updates the Hessian2SkeletonInvoker to handle Hessian 2.0 protocol (as of caucho's hessian 3.2.1 anyway). The code is based on the com.caucho.hessian.server.HessianServlet implementation.
It is backward compatible with Hessian 1.0 protocol clients, with a caveat: you can run into trouble if your client is set to accept a Hessian 2.0 reply, but is not uptodate with the latest Hessian 2.0 changes.
The build dependencies would need to be updated to the latest version of hessian jar also. Unfortunately, 3.2.1 seems to have a couple of regressions; I would advise waiting for the next release.
Juergen Hoeller commented
As of Spring 3.0 M3, HessianServiceExporter supports the Hessian 2.0 protocol analogous to the HessianServlet code in Hessian 3.2.1. This has been implemented in a form that should preserve compatibility with Hessian 3.1.3 and above.
Sakib Mehasanewala commented
Are you sure this is working. I upgraded from Spring 3.0.0M2 to 3.0.0M3 and hessian from 3.2.0 to 3.2.1 and all my Hessian 2 calls started failing.
My Clients are configured like ...
The errors I see on the server side are:
java.io.IOException: Expected 'H' (Hessian 2.0) or 'c' (Hessian 1.0) in hessian input at 172