`
weishuwei
  • 浏览: 326955 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

阅读更多
我们采用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,可以联系本人
分享到:
评论
1 楼 weishuwei 2007-06-04  
修正:
这里并不是通过不了代理,经过测试,确实调用服务端方法了,原来我的程序里本来限制上传文件的路径必须含userfiles的,如D:/eBook/userfiles/mysql5.1.chm,但是我测试时忘了,结果服务端处理上传路径时,最后得到的filePath是一个目录,而不是一个File Path,然后我写文件时(wirteToFile(filePath))就抛错了.

相关推荐

    基于动态代理的Java远程调用框架的研究1

    这种框架通过动态代理可以简化远程调用的实现,使得业务逻辑与远程调用的细节分离,从而提高代码的可读性和可维护性。动态代理允许在不修改原始业务类的情况下,插入自定义的逻辑,例如添加日志、事务管理或者错误...

    service_java接口远程调用_get、post、带参数远程调用_

    在Java编程中,远程接口调用是分布式系统中常见的通信方式,它允许不同的服务之间进行数据交换和功能调用。...通过这些服务,开发者可以方便地进行远程接口调用,无论是简单的GET请求还是带有复杂参数的POST请求。

    一个远程调用对象的例子(VB)

    在IT领域,远程调用对象(Remote Procedure Call, RPC)是一种常见的通信机制,它允许一个程序在不关心网络细节的情况下,调用运行在另一台计算机上的程序或服务。本示例将聚焦于VB(Visual Basic)环境下的RPC实现...

    Dll远程调用说明

    DLL远程调用是一种技术手段,旨在通过远程调用的方式安全地加载和运行用户自定义的DLL文件,避免直接加载DLL可能带来的系统不稳定风险。该机制特别适用于那些业务逻辑较为复杂且需要较高安全性的场景。 #### 二、...

    远程对象方法调用(动态代理+socket).rar

    6. **调用远程方法**:客户端通过代理对象调用远程方法,实际调用会被转发到服务器执行。 7. **处理结果**:服务器执行完远程方法后,通过Socket将结果返回给客户端,客户端的代理对象接收到结果后,将其传递给调用...

    java远程调用kettle说明与代码.pdf

    Java远程调用Kettle说明与代码 Java远程调用Kettle是一种基于Java的ETL(Extract、Transform、Load)工具,能够对数据进行提取、转换、加载,以满足不同业务需求。Kettle提供了名为Carte的Web Server程序,也被称为...

    Visual studio 2005 分布式软件开发 远程调用实例

    客户端通过代理类就可以像调用本地对象一样调用远程服务。 Remoting 实现中,你可以选择使用通道服务来处理底层通信,如 TCP 或 HTTP。配置好后,客户端和服务端可以通过指定的端口和协议进行通信。为了使远程调用...

    hession远程调用分享

    6. 调用:通过客户端代理,就像调用本地方法一样调用远程服务。 五、实战演练 在实际应用中,我们可以使用开源工具如Apache HttpClient或Java内置的HttpURLConnection来实现HTTP请求。对于Hessian的具体实现,可以...

    RMI实现的远程调用

    5. **编写客户端代码**:在客户端,通过Registry获取远程对象的引用,然后就可以像调用本地对象一样调用远程方法。 6. **处理异常**:RMI可能会抛出多种异常,如RemoteException、NotBoundException等,需要在...

    c# 实现远程调用(rpc) remoting

    "c# 实现远程调用(rpc) remoting"是C#的一个关键特性,它允许对象在不同的进程甚至不同的计算机之间进行通信,仿佛它们是在同一个内存空间内操作。这个主题涉及到分布式系统开发,对于理解跨进程通信和提升系统的可...

    JAVA RMI远程调用方法代码

    接下来,`getMemberAccountCount`方法实现了远程调用逻辑,通过`this.ref.invoke`方法调用了远程方法,并处理了可能抛出的异常。 #### 2. 客户端代码分析 客户端通过`Naming.lookup`方法获取远程服务的引用,然后...

    spring远程调用

    在IT行业中,Spring框架是Java开发中的一个核心组件,它提供了丰富的功能,包括依赖注入、面向切面编程以及企业级服务。...通过配置和少量代码,就能实现跨网络的远程方法调用,极大地提升了开发效率和系统的可维护性。

    Web Service远程调用技术

    Web Service 是一种跨编程语言和跨操作系统平台的远程调用技术,通过 SOAP 在 Web 上提供的软件服务,使用 WSDL 文件进行说明,并通过 UDDI 进行注册。XML 是 Web Service 的基础,它是扩展型可标记语言,面向短期的...

    易语言调用远程进程DLL函数

    本文将详细讲解如何使用易语言来实现远程进程DLL函数的调用,这对于开发跨进程通信或者增强程序功能至关重要。 易语言是一款以“易”为理念的编程工具,它具有简洁的语法和丰富的内置功能,适合初学者和专业人士...

    java远程调用方法总结

    客户端通过`Naming.lookup()`获取远程对象的引用,然后就可以像调用本地对象一样调用远程对象的方法。例如: ```java MyService remoteService = (MyService) Naming.lookup("rmi://localhost/MyService"); ...

    Sprig 提供的远程调用 -HTTP调用

    在Spring框架中,远程调用是一项关键功能,它允许应用程序组件通过网络与其他应用程序组件进行通信。 Sprig(可能是指Spring的拼写错误)在这里可能是指Spring框架,它提供了多种方式来实现远程调用,其中HTTP调用是...

    Hessian远程调用框架学习一

    通过这个简单的示例,我们可以看到Hessian如何使得远程调用变得简单。服务端无需额外的XML配置,客户端也无需了解服务端的具体实现。Hessian自动处理了序列化、反序列化以及网络通信,极大地简化了开发流程。 此外...

    jboot远程调用笔记和demo,能用!

    RPC是一种协议,使得一个程序可以在不理解底层网络协议的情况下,调用另一个远程系统上的程序。JBoot集成的RPC框架主要是Motan,这是一个高性能、轻量级的RPC框架,适用于大型分布式系统的微服务架构。 Motan的核心...

    远程调用原理

    通过使用ActiveMQ,开发者可以构建可靠的异步远程调用系统,提高系统的健壮性和解耦性。 在实际开发中,理解并掌握远程调用原理至关重要,因为它不仅影响着系统的性能和稳定性,还决定了系统的可扩展性和维护性。...

Global site tag (gtag.js) - Google Analytics