`
weishuwei
  • 浏览: 324773 次
  • 性别: 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远程调用(rmi),绝对可用

    3. **客户端消费**:客户端通过Spring的`RmiProxyFactoryBean`或`RmiClientInterceptor`来创建远程服务的代理,从而调用远程方法。 这种方式的优点在于,Spring的依赖注入和AOP功能可以轻松地应用于RMI服务。 ### ...

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

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

    C#简单的远程调用实例

    通过以上分析,我们可以看出,C#远程调用实例的核心在于正确配置TCP通道、注册通道和服务类型,以及使用`Activator.GetObject`从远程服务器获取对象的代理。这为构建分布式应用提供了强大的支持,使得在不同计算机...

    spring cloud feign实现远程调用服务传输文件的方法

    Spring Cloud Feign 实现远程调用服务传输文件的方法 在微服务架构中,服务之间的调用和文件...通过使用 Spring Cloud Feign,我们可以轻松地实现远程调用服务传输文件的方法,提高了微服务之间的调用效率和可靠性。

    akka java实现tcp远程调用

    在Java中,Akka可以用来实现TCP远程调用,这使得不同系统之间能够通过网络进行通信。下面我们将深入探讨如何使用Akka与Java来实现TCP远程调用,以及其中涉及的关键知识点。 首先,我们需要理解Akka的Actor系统。...

    C#远程调用简单示例

    在本示例中,我们关注的是C#语言中的远程调用,具体是通过.NET框架实现的。这个压缩包"SimpleRemoting"包含了客户端和服务端的示例代码,帮助开发者深入理解不同激活模式的远程调用。 首先,让我们来探讨一下C#中的...

    ASP.NET远程调用

    2. **WebService远程调用方式**:通过Web服务的形式为客户端提供接口。客户端可以通过标准的HTTP协议访问这些接口,并接收由服务器端处理后的业务逻辑结果。 #### 三、HTTP/TCP方式远程调用详解 ##### 接口定义 ...

    Dll远程调用说明

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

    Spring远程调用使用http方式

    HTTP远程调用是Spring Remote的一种实现方式,通过HTTP协议来传输数据,具有良好的可伸缩性和跨平台性。 要实现Spring的HTTP远程调用,我们主要涉及两个关键部分:服务端(Server)和客户端(Client)。服务端通常...

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

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

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

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

    RMI实现的远程调用

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

    JAVA RMI远程调用方法代码

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

    rpc远程调用使用说明&源码

    RPC(Remote Procedure Call)远程过程调用是一种计算机通信协议,允许一个程序在某处执行,通过网络调用另一台计算机上的程序,就像它是一个本地函数一样。这种技术在分布式系统和微服务架构中广泛使用,简化了不同...

    Web Service远程调用技术

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

    RMI远程方法调用RMI远程方法调用

    客户端通过`Naming.lookup`查找远程对象,并调用其方法。 **生成辅助类** 使用`rmic`工具可以自动生成Stub和Skeleton类,这些类用于处理网络通信细节。在实现类中,通常需要通过`UnicastRemoteObject`的子类来创建...

    Hessian远程调用框架学习一

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

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

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

    使用rmi进行远程调用

    在Java编程领域,RMI(Remote Method Invocation,远程方法调用)是一种强大的技术,它允许在不同的Java虚拟机(JVM)之间进行分布式计算。在这个“使用rmi进行远程调用”的示例中,我们看到的是一个基于RMI实现的...

Global site tag (gtag.js) - Google Analytics