`

hessian 问题与解决 是否很快捷

 
阅读更多

前几天用hessian发布接口的时候,老是报类似与下面的这种错误

Exception in thread "main" com.caucho.hessian.client.HessianRuntimeException: com.caucho.hessian.io.HessianProtocolException: '6' is an unknown class definition
at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:221)
at $Proxy0.queryTradeList(Unknown Source)
at test.HessianTest.main(HessianTest.java:19)
Caused by: com.caucho.hessian.io.HessianProtocolException: '6' is an unknown class definition
at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1691)
at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:206)
... 2 more

 

查了老半天,最后发现我客户端的版本用的是4.0.7,开始用的是3.x,但服务器上的hessian版本是3.x,把服务器上的版本换成4.0.7, 一切ok,郁闷的我不行,太大意了,没想到。。。。 希望大家不要像我这样了。。

 

发布接口用什么最方便快捷呢? 请大家给点意见,我现在用的hessian,更改后要导出class的包给客户端用。。

 

 

今天帮同事看hessian为什么调用不通,看了半天才发现,调用的service的名称写错了一点,没太注意,后来才找到。。。

可能开始以为hessian发布的哪里不对,其实很简单,hessian配置好了,不好怀疑hessian,肯定是你代码有问题。。

 

常见错误:

1.java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost/rest-binding/remoting/

Service.hessian(调用的地址和配置的不一样,比如配置的是service.hessian,注意大小写)

2. 还有就是要实现序列化

。。。。。。。。

 

注意事项

  在进行基于Hessian的项目开发时,应当注意以下几点:   

▲JAVA服务器端必须具备以下几点:   

·包含Hessian的jar包   

·设计一个接口,用来给客户端 调用  

·实现该接口的功能   

·配置web.xml ,配好相应的servlet

·对象必须实现Serializable 接口   

·对于复杂对象可以使用Map的方法传递   

▲客户端必须具备以下几点:  

·java客户端包含Hessian.jar的包。C#中引用hessianCSharp.dll   

·具有和服务器端结构一样的接口。包括命名空间都最好一样   

·利用HessianProxyFactory调用远程接口。

 

分享到:
评论
1 楼 576017120 2012-06-20  
遇到奇怪的问题,类似与  Caused by: com.caucho.hessian.io.HessianProtocolException: expected integer at 0x6e
大多数是因为版本的问题,要优先检查版本问题

相关推荐

    Spring中集成Hessian的问题

    **常见问题与解决方案** 在实际应用中,可能会遇到一些问题,如网络连接错误、序列化异常、版本兼容性问题等。解决这些问题通常需要检查服务端和客户端的配置,确保URL正确,服务正常运行,以及Hessian库版本匹配。...

    Hessian

    **Hessian:深入理解与应用** Hessian是一种二进制Web服务协议,它由Caucho Technology公司开发,主要用于提供轻量级、高效的远程方法调用(Remote Method Invocation,RMI)服务。Hessian的目标是简化分布式系统...

    业务系统增加hessian接口解决方案

    该txt中包含了本人开发的所有步骤,条理很清楚,重要的代码均在其中,按照步骤进行开发,应该能解决问题。 如果解决方案有不足之处,欢迎留言中进行斧正。如果不懂也可以留言咨询,本人最近会尽量回来看看。

    Hessian与spring整合

    当我们谈论“Hessian与Spring整合”时,通常是指将Hessian作为服务通信的机制,结合Spring框架来构建分布式服务系统。这种整合有以下几个关键点: 1. **服务提供者(Service Provider)**:首先,我们需要在服务端...

    hessian案例,hessian案例

    总结,Hessian协议提供了一种高效、跨语言的RPC解决方案,尤其适合Java和Python之间的通信。通过使用Hessian,开发者可以轻松地构建分布式系统,实现服务之间的便捷调用。案例中的文件提供了不同角度的分析和实践...

    Hessian多个版本打包下载

    比如,如果项目依赖于旧的API或者需要与旧系统兼容,那么Hessian3.1.6可能是合适的选择。如果追求更高的性能和安全性,那么Hessian4.0.7可能更优。在实际应用中,理解每个版本的特点和改进,能够帮助我们做出明智的...

    hessianServer

    对Hessian服务的监控和日志记录是必要的,可以帮助开发者了解服务运行状态,快速定位和解决问题。可以使用各种监控工具,如JMX、Prometheus或ELK栈等。 10. **测试**: 在实际部署前,需要对Hessian服务进行充分...

    hessian

    Hessian是一种二进制Web服务协议,由Caucho Technology公司开发,主要用于提供轻量级、高效的远程方法调用(Remote Method Invocation, RMI)机制。它结合了HTTP协议的可扩展性和Java序列化机制的易用性,使得在...

    Hessian与Spring整合需要jar包

    4. **测试与调用**:编写测试代码,验证Hessian服务的调用是否正常,确保数据能正确地序列化和反序列化,以及远程方法调用的执行结果符合预期。 通过这样的整合,开发者可以利用Spring的强大功能来管理服务生命周期...

    Hessian矩阵与牛顿法.pdf

    相比之下,**牛顿法**通过利用Hessian矩阵来改进搜索方向,从而解决了一些梯度法的问题。具体来说: 1. **牛顿法的基本思想**:牛顿法通过在当前点进行泰勒展开来近似目标函数,并找到该近似函数的最小值点。这样做...

    Hessian应用

    与常见的基于XML的RPC协议相比,Hessian采用二进制格式,数据传输更紧凑,解析速度更快,减少了网络带宽的消耗。 Hessian的核心是其序列化和反序列化机制。序列化是将Java对象转换为二进制流的过程,而反序列化则是...

    hessian php与java通讯demo源码

    总之,这个"PHP与Java通信Demo源码"是一个很好的学习资源,帮助开发者理解如何在PHP和Java之间使用Hessian协议进行通信。通过分析和实践这些示例代码,你可以更好地掌握Hessian的工作原理和使用方式,为你的跨语言...

    hessian与spring整合的jar包

    当我们将Hessian与Spring进行整合时,主要目标是利用Spring的依赖注入(Dependency Injection, DI)和组件管理能力来简化Hessian服务的创建和管理。以下是一些关键知识点: 1. **Spring核心模块**(spring-core-...

    多尺度hessian滤波器图像增强

    在图像处理领域,多尺度Hessian滤波器是一种高级的图像增强技术,它主要用于检测图像中的线性结构,特别是对于微弱或者噪声较大的图像特征有很好的识别能力。这个技术是基于数学形态学的Hessian矩阵理论,由V.S. ...

    hessian4.0.7结合spring2.5.6的bug

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

    hessian矩阵介绍

    "hessian矩阵介绍" Hessian矩阵是数学中一个重要的概念,特别是在多元函数极值问题中,它扮演着关键性的角色。在这篇文章中,我们将详细...通过Hessian矩阵,我们可以判断函数的极值点是否存在,并解决条件极值问题。

    Hessian学习简单demo

    总的来说,Hessian提供了高效、轻量级的跨语言通信解决方案,尤其适合对性能有较高要求的场景。通过学习和实践这个Hessian demo,你将能够更好地应对涉及远程调用和数据交换的问题。无论是Java开发者还是C++开发者,...

    springMVC hessian

    在给定的项目中,"springMVC-hessian" 压缩包很可能包含了一个使用 SpringMVC 构建的 Web 服务,以及一个使用 Hessian 实现的远程服务接口。Readme 文件应该提供了详细的步骤指导,解释了如何配置 SpringMVC 以支持 ...

    hessian服务端 客户端 可运行

    在这个“hessian服务端 客户端 可运行”的压缩包文件中,很可能包含了一个完整的示例,让我们来详细探讨Hessian在服务端和客户端的实现及其重要性。 首先,我们来理解一下Hessian服务端。在Java中,Hessian服务端...

    hessian-example

    在博客文章"http://blog.csdn.net/u010397369/article/details/12176961"中,作者可能详细介绍了如何设置Hessian环境,包括安装必要的库,编写服务端和客户端代码,以及解决可能出现的问题。文章可能还涵盖了性能...

Global site tag (gtag.js) - Google Analytics