论坛首页 入门技术论坛

远程调用通过不了代理,求教

浏览 2802 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-05-12  
我们采用hessian作远程处理,如果客户端直接采用路由器上网,则没什么影响,能连上服务端,但是如果通过代理,比如我们公司内部采用的是squid代理,则连不上服务端,不知道为什么
以前是点击同步时出现如下错误(启动客户端时并不抛出):
1,org.springframework.remoting.RemoteAccessException: Cannot access Hessian service at [http://服务端ip/remote/remoteService]; nested exception is com.caucho.hessian.io.HessianProtocolException: 501: java.io.IOException: Server returned HTTP response code: 501 for URL: http://服务端ip/remote/remoteService

我们把hessian版本升级后,启动客户端就抛出如下错误
严重: Servlet.service() for servlet remote threw exception
com.caucho.hessian.io.HessianProtocolException: expected hessian call ('c') at code=-1 ch=?

请一下:

另外个人对hessian理解,请高人指正:
hessian不能传递复杂对象,经本人测试,关系深度为2的是可以的,深度为3或以上是不行的,也就是说我们关系为一对一和一对多,可以采用hessian传输,如果是多对多则要把数据组装一下才能传输,这是个人理解,有不同见解的,请回复本人,在此表示感谢

本人msn为weishuwei@hotmail.com,可以联系本人
   发表时间:2007-06-04  
修正:
这里并不是通过不了代理,经过测试,确实调用服务端方法了,原来我的程序里本来限制上传文件的路径必须含userfiles的,如D:/eBook/userfiles/mysql5.1.chm,但是我测试时忘了,结果服务端处理上传路径时,最后得到的filePath是一个目录,而不是一个File Path,然后我写文件时(wirteToFile(filePath))就抛错了.
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics