`
fancyboy2050
  • 浏览: 238521 次
  • 性别: Icon_minigender_1
  • 来自: 皇城根儿下
社区版块
存档分类
最新评论

hessian http response code:411

阅读更多
记录一个很久以前的遇到的一个关于hessian的问题。

用 Hessian 实现 web service 过程中,需要创建对象时,是使用 HTTP POST 方法来传递数据的。但是在有反向代理 (nginx) 的情况下,会抛出异常 (com.caucho.hessian.client.HessianConnectionException: 411:java.io.IOException: Server returned HTTP response code: 411 for URL:http://xxxx/xxx/xxxService) 。

首先来看下 HTTP 411 错误的解释: Length Required 服务器不能处理请求,除非客户发送一个 Content-Length 头。( HTTP 1.1 新)这是因为 Hessian 与服务端通信默认是采取分块的方式 (chunked encoding) 发送数据,而反向代理要获得 Content-Length 这个头,才能处理请求,但是 Hessian 的请求中并没有加入这个参数。

我们使用的spring+hessian做服务化:
hessian自己的factory生成对象时:
com.caucho.hessian.client.HessianProxyFactory中,默认ChunkedPost为true
    private boolean _isChunkedPost = true;
分块发送方式与服务端交换数据的参数,但是暂时nginx不支持


使用的spring的proxyfactorybean对象有一个setChunkedPost的方法,所以我们可以在配置bean的时候给chunkedPost设置为false,从而透过nginx,实现通信
<bean id="xxx" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
        <property name="serviceUrl" value=""/>
        <property name="serviceInterface" value=""/>
    	<property name="chunkedPost" value="false"/>
    </bean>
分享到:
评论
1 楼 悦悦余音 2016-04-05  
楼主妙笔生花的文章解决了我的问题  

相关推荐

    hessian-3.0.20-src.jar

    hessian是一个轻量级的Java Remoting方案

    Hessian实例下载

    Hessian实例 网站地址:http://hessian.caucho.com/#Java可以下载Hessian需要的jar包 2010.11.11上传

    Hessian协议的C#源代码

    Hessian协议是http://caucho.com/公司开发的一种实用的web服务技术,它采用二进制数据,传输效率比较高,简单易用,是C#.NET/IIS环境快速开发web服务应用的一种解决方案。本资源中包含Hessian协议的C#版源代码,由于...

    dubbo-hessian协议http请求demo(java)

    dubbo-hessian协议http请求demo

    hessian 源代码与jar包

    Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据

    hessian-3.3.6-API文档-中文版.zip

    赠送jar包:hessian-3.3.6.jar; 赠送原API文档:hessian-3.3.6-javadoc.jar; 赠送源代码:hessian-3.3.6-sources.jar; 赠送Maven依赖信息文件:hessian-3.3.6.pom; 包含翻译后的API文档:hessian-3.3.6-javadoc-...

    hessian-3.3.6-API文档-中英对照版.zip

    赠送jar包:hessian-3.3.6.jar 赠送原API文档:hessian-3.3.6-javadoc.jar 赠送源代码:hessian-3.3.6-sources.jar 包含翻译后的API文档:hessian-3.3.6-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven...

    hessian_penalty:黑森州罚则代码

    Hessian 惩罚——正式实施| | | 设为首页| 这个 repo 包含我们新的正则化术语的代码,鼓励在神经网络中解开。 它有效地将神经网络的 Hessian 优化为输入中的对角线,从而使该输入解开。 我们展示了它在生成对抗网络 ...

    hessian-lite-3.2.1-fixed-2.jar

    com.alibaba:hessian-lite:jar:3.2.1-fixed-2 hessian-lite hessian-lite-3.2.1-fixed-2.jar

    hessian-4.0.63-API文档-中文版.zip

    赠送jar包:hessian-4.0.63.jar; 赠送原API文档:hessian-4.0.63-javadoc.jar; 赠送源代码:hessian-4.0.63-sources.jar; 赠送Maven依赖信息文件:hessian-4.0.63.pom; 包含翻译后的API文档:hessian-4.0.63-...

    java+hessian 远程调用

    java项目中使用hessian框架实现远程调用,该资源内附hessian服务端,hessian客户端和使用说明文档,以供使用参考,轻松教会你hessian远程调用!

    sofa-hessian-node:由Ant Financial支持的性能增强版Hessian

    sofa-hessian-node 蚂蚁金服对 Hessian 序列化的定制版本 sofa-hessian-node 对应的 Java Hessian 版本是 v3.1.3。它对 模块做了进一步封装,通过预编译来提高性能。 安装 $ npm install sofa-hessian-node --save ...

    Hessian样例源代码

    1、开发环境:eclipse3.1 + jdk1.5; 2、样例说明: 1)spring + hessian; 2)hessian。 3、样例内容: 1)HashMap传递; 2)简单对象传递; 3)异常处理

    hessian-4.0.63-API文档-中英对照版.zip

    赠送jar包:hessian-4.0.63.jar; 赠送原API文档:hessian-4.0.63-javadoc.jar; 赠送源代码:hessian-4.0.63-sources.jar; 赠送Maven依赖信息文件:hessian-4.0.63.pom; 包含翻译后的API文档:hessian-4.0.63-...

    spring、hessian通过tomcat的简单环境应用源代码

    spring、hessian通过tomcat的简单环境应用源代码 里面有具体的实例程序

    dubbo-hessian-lite:适用于Apache Dubbo的Hessian Lite

    Hessian Lite(Apache Dubbo专用版) Hessian-lite最初是的Apache dubbo嵌入版本。 然后,此模块与Dubbo分离。 所有分支:2.5.x,2.6.x(自2.6.3起)和2.7.x都依赖于它,请查看详细信息: 现在,我们正在尝试建立一...

    Spring中集成Hessian的问题

    NULL 博文链接:https://wo-niu.iteye.com/blog/2200720

    hessian案例,hessian案例

    该案例有hessian java python,该案例有hessian java python,该案例有hessian java python

    Hessian多个版本打包下载

    Hessian多个版本下载,包括Hessian3.1.6,Hessian3.2.1,Hessian4.0.7

    hessian demo例子教程

    hessian demo 例子 教程 看我blog http://blog.csdn.net/zfrong/archive/2009/12/29/5099222.aspx http://blog.csdn.net/zfrong/archive/2009/12/27/5083943.aspx

Global site tag (gtag.js) - Google Analytics