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即可.
本文探讨了Spring Hessian与Nginx结合使用时出现的HTTP 411错误,即服务器要求Content-Length头信息的问题。通过分析得知Hessian默认采用分块方式发送数据,缺少必要的Content-Length信息。最终解决方案是在HessianProxyFactory中将chunkedPost属性设为false。
237

被折叠的 条评论
为什么被折叠?



