`
flyer2010
  • 浏览: 358787 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

hessian 使用过程碰到的异常

阅读更多
今天在使用hessian时碰到了如下的问题:
org.springframework.remoting.RemoteAccessException: Cannot access Hessian remote service at [
				http://localhost:8080/logcenter/remoting/hessianQueryLog
			]; nested exception is com.caucho.hessian.io.HessianProtocolException: expected hessian reply at end of file
?
	at org.springframework.remoting.caucho.HessianClientInterceptor.convertHessianAccessException(HessianClientInterceptor.java:254)
	at org.springframework.remoting.caucho.HessianClientInterceptor.invoke(HessianClientInterceptor.java:225)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
	at $Proxy1.queryLogItemByIdForHessian(Unknown Source)
	at com.xiu.log.qatest.LogHessianTest.main(LogHessianTest.java:55)
Caused by: com.caucho.hessian.io.HessianProtocolException: expected hessian reply at end of file
?
	at com.caucho.hessian.io.Hessian2Input.error(Hessian2Input.java:2701)
	at com.caucho.hessian.io.Hessian2Input.startReply(Hessian2Input.java:405)
	at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:218)
	at $Proxy0.queryLogItemByIdForHessian(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.remoting.caucho.HessianClientInterceptor.invoke(HessianClientInterceptor.java:219)
	... 4 more

这是因为接口中出现方法重载,在调用时,服务器端会跑出异常。
在整合spring中,在客户端的配置里面加上如下代码可以解决:
<property name="overloadEnabled" value="true"></property>


spring2.5.6 + hessian 4.0.1,采用remoting-servlet.xml的方式进行配置,客户端调用时出现如下错误,换成hessian 3.1.5就正常了。
Exception in thread "main" com.caucho.hessian.client.HessianRuntimeException: com.caucho.hessian.io.HessianProtocolException: '?' is an unknown code
	at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:268)
	at $Proxy0.queryBusicardsTest(Unknown Source)
	at client.UserSimpleTest.main(UserSimpleTest.java:21)
Caused by: com.caucho.hessian.io.HessianProtocolException: '?' is an unknown code
	at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:266)
	... 2 more

spring2.5.6不支持hessian过高版本,最后只好换成在web.xml中配置hessian的访问地址
分享到:
评论
1 楼 王佳伟 2015-03-13  
改成不用spring整合的方式配置请求地址就不会报这个错了是嘛?
还有spring3.1.3是否支持hessian4.0.7?

相关推荐

    hessian4.0.7结合spring2.5.6的bug

    Hessian 4.0.7是这个协议的一个版本,它与Spring 2.5.6框架结合使用时,可能会遇到一些特定的问题。Spring作为一个流行的Java企业级应用框架,提供了强大的依赖注入、AOP(面向切面编程)等功能,而Hessian则为远程...

    Spring中集成Hessian的问题

    Hessian服务端的序列化和反序列化过程、HTTP请求处理以及异常处理等都是关键部分。而Spring框架如何与Hessian进行集成,包括服务注册、请求处理和代理创建等,也值得研究。 **工具支持** 为了方便调试和测试,可以...

    自己写了个Hessian

    5. **错误处理**:在实现过程中,还需要考虑异常处理和错误报告,确保在出现问题时能够提供有用的反馈。 6. **性能优化**:Hessian的目标是提高性能,因此在设计时,需要关注编码和解码的速度,以及内存使用效率。 ...

    Hessian和Spring集成示例

    实际开发中,可能会遇到更多的细节问题,如版本兼容性、异常处理、事务控制等,这些都需要根据具体项目需求进行适当调整和处理。通过熟练掌握这些知识点,你将能够有效地利用Hessian和Spring构建高性能的分布式系统...

    hessian-4.0.7.jar + src

    源码阅读有助于我们定制自己的序列化策略,优化性能,或者解决在使用过程中遇到的问题。 三、Hessian下载源地址.txt——获取与更新 `hessian下载源地址.txt`文件通常包含了获取Hessian最新版本或者其他相关资源的...

    hessian 在PHP中的使用介绍

    Hessian是一种轻量级的二进制RPC(远程过程调用)协议,用于不同编程语言之间高效的数据交换。相比WebService,Hessian更加简洁快速,因为它采用的是二进制格式,对于传输二进制数据特别有利。Hessian是语言无关的,...

    基于java序列化的Netty编解码技术

    5. **注意异常处理**:在实际应用中,编码和解码过程中可能会抛出各种异常,例如`IOException`、`ClassNotFoundException`等,必须正确处理这些异常,防止服务中断。 6. **序列化与反序列化顺序**:在使用Netty处理...

    Exception by proxy callSystem.ArgumentException: 已添加项。字典中的关键

    在这个特定情况下,可能是由于代理调用过程中,某个逻辑试图向字典添加一个已存在的键,导致了这个异常。 代理调用通常发生在分布式系统或服务之间,比如使用代理类来访问远程服务。HessianCsharp.dll文件可能是一...

    hession调用

    4. **错误处理**:在远程调用过程中,可能会遇到网络问题、服务端异常等。Hession提供了异常处理机制,当服务端抛出异常时,客户端也会捕获到对应的异常,方便进行错误处理。 5. **安全性考虑**:由于Hession是基于...

    matlab牛顿法求无约束的优化问题(min).zip

    - **异常处理**:处理可能遇到的奇异Hessian矩阵或计算误差,例如可以设置最小和最大的步长限制,或者使用信赖区域方法。 在MATLAB源码中,会包含上述各个步骤的实现,通过阅读和理解源代码,你可以深入学习牛顿法...

    Dubbo 27道面试题及答案.docx

    Dubbo 的使用过程中可能会遇到的问题包括:配置了 XML 和 properties 文件,properties 中的配置无效只有 XML 没有配置时,properties 才生效。 Dubbo 缺省会在启动时检查依赖是否可用,不可用就抛出异常,阻止 ...

    多元回归(拟牛顿法):使用拟牛顿法最小化成本函数(均方误差)-matlab开发

    拟牛顿法通过近似Hessian矩阵来简化这一过程,它使用之前迭代的梯度信息构建一个无须直接计算Hessian矩阵的近似逆矩阵。 DFP和BFGS是两种最常用的拟牛顿法。DFP法使用前一次迭代的Hessian矩阵近似和梯度变化来更新...

    rpc.zip_java_remote

    6. **异常处理**:在远程调用过程中,可能会遇到各种网络或服务异常,RPC框架需要提供一套完整的异常处理机制,确保调用的健壮性。 7. **服务治理**:包括服务版本管理、熔断、限流、降级等,这些都是为了保证...

    非线性规划的序列二次规划(SQP)算法Matlab程序

    7. **处理异常和迭代控制**:在算法运行过程中,可能会遇到如无解、不收敛等问题,需要设定适当的处理策略。 Matlab中的`fmincon`函数,配合适当的算法选项,可以方便地实现SQP算法。另外,一些优化工具箱,如`...

    一种变电站智能巡检机器人的仪表图像空间变换算法.pdf

    随机采样一致性算法(RANSAC)是一种用于估计模型参数的迭代方法,能够有效处理含有异常数据的情况,能够通过迭代过程来消除错误匹配,并准确计算出图像变换模型的参数。通过将待识别图像映射到建模图像空间,能够极...

    dubbox2.8.4.rar

    Dubbox 是一个基于 Spring 和...通过研究这些内容,你可以深入了解 Dubbox 的工作原理,定制化自己的服务治理框架,或者排查和解决在使用过程中遇到的问题。记得在使用前先阅读官方文档,以便更好地理解和运用 Dubbox。

    springboot和dubbo打成jar包运行

    运行过程中可能遇到的问题包括: 1. 确保JAR包中包含了所有依赖库,避免类加载问题。 2. 配置文件(如application.properties或yaml)需要被正确加载。 3. Dubbo服务注册失败,检查注册中心的配置和网络连通性。 4. ...

    Dubbo面试.zip

    2. **服务提供者与消费者**:理解服务提供者如何发布服务,服务消费者如何消费服务,包括接口定义、服务暴露、服务引用等过程。 3. **RPC机制**:解释RPC(Remote Procedure Call)的概念,以及Dubbo如何实现RPC,...

Global site tag (gtag.js) - Google Analytics