Spring hessian 结合是一种提供webservice很好的方式.
nginx 作为反向代理现在也是越来越火.
但是两者结合起来却遇到了问题.
com.caucho.hessian.client.HessianConnectionException: 411:java.io.IOException: Server returned HTTP response code: 411 for ...........
HTTP 411 : Length Required 服务器不能处理请求,需要一个 Content-Length 头信息。
nginx必须要得到 Content-Length 头信息才能处理请求,但是Hessian 在发送数据时默认采取的是分块的方式 (chunked encoding) ,没有这个头信息.
知道了问题.我们再来想办法解决.
HessianProxyFactory 中有个决定hessina发送数据方式(是否以分块方式)的属性chunckedPost 默认值为 true.设置为false即可.