我们采用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,可以联系本人
分享到:
相关推荐
这种框架通过动态代理可以简化远程调用的实现,使得业务逻辑与远程调用的细节分离,从而提高代码的可读性和可维护性。动态代理允许在不修改原始业务类的情况下,插入自定义的逻辑,例如添加日志、事务管理或者错误...
本实例将深入探讨Spring的远程调用功能,通过一个简单的例子来帮助理解其工作原理和实施步骤。 首先,我们要明确Spring远程调用(Remoting)的基本概念。远程调用是指应用程序的不同组件或服务之间,通过网络进行...
在Java编程中,远程接口调用是分布式系统中常见的通信方式,它允许不同的服务之间进行数据交换和功能调用。...通过这些服务,开发者可以方便地进行远程接口调用,无论是简单的GET请求还是带有复杂参数的POST请求。
远程调用(Remote Procedure Call, RPC)是一种计算机通信协议,它允许程序在一台机器上通过网络调用另一台机器上的程序,就像调用本地函数一样。在Spring Boot中,我们可以利用各种RPC框架实现这一功能,如RabbitMQ...
在提供的`动态代理与RMI远程调用.ppt`中,可能会详细解释这两个概念,通过PPT的讲解和实例,可以更直观地理解动态代理和RMI的工作原理。同时,`src`目录下的源码文件则提供了具体的实现示例,读者可以通过阅读代码,...
在本示例中,我们关注的是C#语言中的远程调用,具体是通过.NET框架实现的。这个压缩包"SimpleRemoting"包含了客户端和服务端的示例代码,帮助开发者深入理解不同激活模式的远程调用。 首先,让我们来探讨一下C#中的...
在IT领域,远程调用对象(Remote Procedure Call, RPC)是一种常见的通信机制,它允许一个程序在不关心网络细节的情况下,调用运行在另一台计算机上的程序或服务。本示例将聚焦于VB(Visual Basic)环境下的RPC实现...
DLL远程调用是一种技术手段,旨在通过远程调用的方式安全地加载和运行用户自定义的DLL文件,避免直接加载DLL可能带来的系统不稳定风险。该机制特别适用于那些业务逻辑较为复杂且需要较高安全性的场景。 #### 二、...
6. **调用远程方法**:客户端通过代理对象调用远程方法,实际调用会被转发到服务器执行。 7. **处理结果**:服务器执行完远程方法后,通过Socket将结果返回给客户端,客户端的代理对象接收到结果后,将其传递给调用...
HTTP远程调用是Spring Remote的一种实现方式,通过HTTP协议来传输数据,具有良好的可伸缩性和跨平台性。 要实现Spring的HTTP远程调用,我们主要涉及两个关键部分:服务端(Server)和客户端(Client)。服务端通常...
Java远程调用Kettle说明与代码 Java远程调用Kettle是一种基于Java的ETL(Extract、Transform、Load)工具,能够对数据进行提取、转换、加载,以满足不同业务需求。Kettle提供了名为Carte的Web Server程序,也被称为...
客户端通过代理类就可以像调用本地对象一样调用远程服务。 Remoting 实现中,你可以选择使用通道服务来处理底层通信,如 TCP 或 HTTP。配置好后,客户端和服务端可以通过指定的端口和协议进行通信。为了使远程调用...
Java Hessian远程调用是一种高效的、轻量级的RPC(Remote Procedure Call)解决方案,它允许Java应用程序通过网络进行跨语言的通信。Hessian是BEA Systems开发的一种二进制Web服务协议,它提供了序列化和远程方法...
"c# 实现远程调用(rpc) remoting"是C#的一个关键特性,它允许对象在不同的进程甚至不同的计算机之间进行通信,仿佛它们是在同一个内存空间内操作。这个主题涉及到分布式系统开发,对于理解跨进程通信和提升系统的可...
6. 调用:通过客户端代理,就像调用本地方法一样调用远程服务。 五、实战演练 在实际应用中,我们可以使用开源工具如Apache HttpClient或Java内置的HttpURLConnection来实现HTTP请求。对于Hessian的具体实现,可以...
5. **编写客户端代码**:在客户端,通过Registry获取远程对象的引用,然后就可以像调用本地对象一样调用远程方法。 6. **处理异常**:RMI可能会抛出多种异常,如RemoteException、NotBoundException等,需要在...
1、Dubbo 远程调用实现 2、内带zookeeper-3.4.5消息服务 3、直接导入myeclipse运行:dubbo-server导入tomcat中运行 4、dubbo-client 运行测试类/dubbo-client/src/com/fengjx/main/Consumer.java
在IT行业中,Spring框架是Java开发中的一个核心组件,它提供了丰富的功能,包括依赖注入、面向切面编程以及企业级服务。...通过配置和少量代码,就能实现跨网络的远程方法调用,极大地提升了开发效率和系统的可维护性。
在客户端,我们使用`xmlrpc.client`模块的`ServerProxy`类来创建一个到服务器的代理,然后就可以像调用本地函数一样调用远程方法了: ```python import xmlrpc.client proxy = xmlrpc.client.ServerProxy(...