文档章节

hessian http response code:411

伊人梦醉
 伊人梦醉
发布于 2016/06/20 12:21
字数 303
阅读 51
收藏 0

记录一个很久以前的遇到的一个关于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>

© 著作权归作者所有

共有 人打赏支持
伊人梦醉
粉丝 7
博文 71
码字总数 28590
作品 0
海淀
程序员
私信 提问
Nginx 使用反向代理时 Hessian 的 411 错误解决方案

问题描述: 用 Hessian 实现 web service 过程中,需要创建对象时,是使用 HTTP POST 方法来传递数据的。但是在有反向代理 (nginx) 的情况下,会抛出异常 (com.caucho.hessian.client.Hessi...

鉴客
2011/05/19
4.4K
0
Hessian HTTP POST访问时,Nginx返回411问题

用 Hessian 实现 web service 过程中,需要创建对象时,是使用 HTTP POST 方法来传递数据的。但是在有的情况下,会抛出异常 (com.caucho.hessian.client.HessianConnectionException: 411:j...

陶邦仁
2015/11/02
0
0
java.io.IOException: Server returned HTTP response

java.io.IOException: Server returned HTTP response code: 500 for URL: http://physics.whu.edu.cn/show.asp?id=278 java.io.IOException: Server returned HTTP response code: 403 for ......

为梦而来
2014/03/14
0
0
com.caucho.hessian.client.HessianConnectionException: 500

最近在spring中整合Hessian报 com.caucho.hessian.client.HessianConnectionException: 500: java.io.IOException: Server returned HTTP response code: 500 for URL: http://127.0.0.1:80......

开源大法好啊
2016/09/27
867
0
hessian隐式传参

背景 web应用的项目:分表现层portal端和业务服务层service端,使用dubbo框架,rpc使用hessian。dubbo里的dubbo协议因为是socket长连接可以attachment隐式带参数,hessian协议则不能attachm...

v1-alpha
2016/03/07
29
0

没有更多内容

加载失败,请刷新页面

加载更多

linux shell使用代理

export http_proxy=http://proxyAddress:port export http_proxy=http://proxyAddress:port

萌萌哒的小萝卜
1分钟前
0
0
Krpano 插入视频-video

hotspot-video <hotspot name="videospot" url="%SWFPATH%/plugins/videoplayer.swf" alturl="%SWFPATH%/plugins/videoplayer.js" videourl="%SWFPATH%/image/video.flv|%......

华山猛男
4分钟前
0
0
el-select使用方法及遇到数据回显的坑

<el-select v-model="temp.lang" class="filter-item" placeholder="Please select"> <el-option v-for="item in langs" :key="item.value" :label="item.label" :value="item.value"/> </el......

BraveLN
6分钟前
0
0
百度贴吧自动签到

实现百度贴吧自动签到功能 1.编写签到Python脚本 2.服务器配置定时任务执行签到脚本

MrPei
11分钟前
0
0
windows nginx

之前一直是在linux上使用nginx,今天百度了一下,发现原来nginx在windows也有软件。 最近在研究jeecg-boot,现在越来越多的框架开始采用前后分离的模式了,看来也是时候跟进了。 nginx: dow...

miaojiangmin
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部