今天在弄那个Hessian,想用它实现web服务,于是按官方网站的document的例子做了一个简单的hello程序,报了一堆错误,刚接触这个,实在不知道原因何在.
请教一下们,在此先谢了!!
程序完整代码:
1,对外暴露的业务接口
package com.neoman.hession;
public interface BasicAPI {
public String hello();
}
2,服务器端实现
package com.neoman.hession;
import com.caucho.hessian.server.HessianServlet;
public class BasicService extends HessianServlet implements BasicAPI {
private String str="Hello World";
public void setStr(String str) {
this.str = str;
}
public String hello() {
// TODO Auto-generated method stub
return str;
}
}
3,客户端测试代码
package com.neoman.hession;
import java.net.MalformedURLException;
import com.caucho.hessian.client.HessianProxyFactory;
public class Test {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
String url = "http://localhost:8080/HessionTest/hello";
HessianProxyFactory factory = new HessianProxyFactory();
BasicAPI basic=(BasicAPI) factory.create(BasicAPI.class, url);
System.out.println("hello(): " + basic.hello());
}
}
4, web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>home-class</param-name>
<param-value>com.neoman.hession.BasicService</param-value>
</init-param>
<init-param>
<param-name>home-api</param-name>
<param-value>com.neoman.hession.BasicAPI</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
报的错误:
Exception in thread "main" com.caucho.hessian.client.HessianRuntimeException: com.caucho.hessian.io.HessianProtocolException: 500: java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:8080/HessionTest/hello
at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:183)
at $Proxy0.hello(Unknown Source)
at com.neoman.hession.Test.main(Test.java:21)
Caused by: com.caucho.hessian.io.HessianProtocolException: 500: java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:8080/HessionTest/hello
at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:167)
... 2 more
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:8080/HessionTest/hello
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1227)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1221)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:910)
at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:149)
... 2 more
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:8080/HessionTest/hello
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1174)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:367)
at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:140)
... 2 more
分享到:
- 2007-06-15 11:14
- 浏览 6145
- 评论(5)
- 论坛回复 / 浏览 (3 / 6352)
- 查看更多
相关推荐
标题中的“闲着没事Hessian开发WebService的总结(一)”表明这是一篇关于使用Hessian框架开发Web服务的文章,作者可能在其中分享了个人的经验和理解。Hessian是一种轻量级的远程调用协议,它允许Java和.NET之间进行...
hessian.jar 轻量级webservice实现 hessian.jar 轻量级webservice实现 hessian.jar 轻量级webservice实现
**WebService的轻量级实现——Hessian学习笔记** 在IT行业中,WebService作为一种常见的跨平台、跨语言的通信机制,被广泛应用于系统间的交互。然而,传统的SOAP(Simple Object Access Protocol)协议实现的...
3. **Hessian库**(hessian-4.0.37.jar):这是实现Hessian协议的Java库,提供了创建Hessian服务和客户端的方法。 4. **Spring Web模块**(spring-web-3.2.0.RELEASE.jar和spring-webmvc-3.2.0.RELEASE.jar):这些...
Maven坐标:com.caucho:hessian:4.0.63; 标签:hessian、caucho、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和...
Maven坐标:com.caucho:hessian:4.0.63; 标签:hessian、caucho、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构...
<hessian:service id="myHessianService" ref="myService" url="/my/hessian/service"/> ``` 这里,`ref`属性指定了服务实现的bean ID,`url`属性定义了Hessian服务的访问路径。 然后,我们需要在服务器端启动...
Maven坐标:com.alipay.sofa:hessian:3.3.6; 标签:sofa、hessian、alipay、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...
基于java实现hessian进行服务器之间数据交互demo项目 实现功能: 1.基于spring 2.5.6+hessian3.1.6带有签名安全机制 2.基于servlet代理机制实现HessianServlet,进行简单IP地址校验功能!
HessianServer指的是实现Hessian协议的服务端程序,通常用于构建分布式系统,使得不同的应用可以跨网络进行无缝通信。下面将详细介绍Hessian服务端的相关知识点。 1. **Hessian协议**: Hessian是Adobe公司开发的...
- 虽然Hessian提供了便利,但需要注意安全性问题,如防止未授权的远程调用,以及保护敏感数据。此外,可以考虑使用HTTPS协议来增强通信的安全性。 - 优化方面,可以通过缓存、负载均衡、压缩传输等方式提升远程...
hessian是一个轻量级的Java Remoting方案
这包括设置服务器端和客户端的Hessian服务,定义服务接口,处理序列化和反序列化的过程,以及调试可能出现的问题。在进行版本升级时,要注意兼容性问题,确保旧版本的服务仍能正常工作,同时充分利用新版本带来的...
- Spring集成Hessian:http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/remoting.html 通过这些资源,开发者可以更深入地理解并应用Hessian在实际项目中的各种场景。
赠送jar包:hessian-3.3.6.jar 赠送原API文档:hessian-3.3.6-javadoc.jar 赠送源代码:hessian-3.3.6-sources.jar 包含翻译后的API文档:hessian-3.3.6-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven...
本教程将深入讲解如何使用Hessian实现基于WebService的应用。 【描述】提供的教程包含了服务器端和客户端的实例代码,这两个例子旨在帮助开发者快速理解和应用Hessian。它们非常直观,可以直接运行,无需复杂配置,...
10. **调试工具**:有一些工具可以帮助开发者查看和调试Hessian通信,例如Hessian Browser,它可以显示Hessian请求和响应的详细内容,帮助定位问题。 在"Hessian例子.rar"这个压缩包中,可能包含了实现Hessian协议...
在本项目中,我们探讨的是基于C#实现的Hessian服务端和客户端,已经在IIS环境下进行了测试并成功通过。 1. **Hessian协议**:Hessian是由Caucho公司开发的一种轻量级、高效的二进制协议,主要用于Web服务。它支持...
**Hessian:深入理解与应用** Hessian是一种二进制Web服务协议,它由Caucho Technology公司开发,主要用于提供轻量级、高效的远程方法调用(Remote Method Invocation,RMI)服务。Hessian的目标是简化分布式系统...
2. **服务消费**:在客户端,开发者创建一个代理类,这个代理类是服务器端服务接口的实现,通过Hessian连接到服务器,实现远程调用。 三、`HessianServer`和`HessianClient`示例解析: `HessianServer`通常是一个...