`
Neoman
  • 浏览: 77165 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

求助:关于Hessian实现webservice的问题

阅读更多
今天在弄那个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
分享到:
评论
5 楼 zhongrenmeng 2007-11-28  
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.neoman.hession.BasicService </servlet-class>    
  </servlet>  
  
  <servlet-mapping>  
    <servlet-name>hello</servlet-name>  
    <url-pattern>/hello</url-pattern>  
  </servlet-mapping>  
</web-app>  
4 楼 yagesi 2007-06-18  
老田...看来又是JNDI问题,那么象EJB的....
3 楼 Neoman 2007-06-15  
要沉 了,自己先顶一下
2 楼 Neoman 2007-06-15  
我的工程名字是HessianTest
那映射写成:<url-pattern>/HessianTest/hello</url-pattern>
么???
能否直接点,谢谢啦
1 楼 lordhong 2007-06-15  
http://localhost:8080/HessionTest/hello

# <servlet-mapping> 
#     <servlet-name>hello</servlet-name> 
#     <url-pattern>/hello</url-pattern> 
#   </servlet-mapping>

mapping is wrong ... look again...

相关推荐

    闲着没事Hessian开发WebService的总结(一)

    标题中的“闲着没事Hessian开发WebService的总结(一)”表明这是一篇关于使用Hessian框架开发Web服务的文章,作者可能在其中分享了个人的经验和理解。Hessian是一种轻量级的远程调用协议,它允许Java和.NET之间进行...

    hessian.jar 轻量级webservice实现

    hessian.jar 轻量级webservice实现 hessian.jar 轻量级webservice实现 hessian.jar 轻量级webservice实现

    WebService另一种轻量级实现—Hessian 学习笔记.rar

    **WebService的轻量级实现——Hessian学习笔记** 在IT行业中,WebService作为一种常见的跨平台、跨语言的通信机制,被广泛应用于系统间的交互。然而,传统的SOAP(Simple Object Access Protocol)协议实现的...

    hessian与spring整合的jar包

    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):这些...

    hessian-4.0.63-API文档-中英对照版.zip

    Maven坐标:com.caucho:hessian:4.0.63; 标签:hessian、caucho、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和...

    hessian-4.0.63-API文档-中文版.zip

    Maven坐标:com.caucho:hessian:4.0.63; 标签:hessian、caucho、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构...

    基于spring+hessian框架的webservice实例

    &lt;hessian:service id="myHessianService" ref="myService" url="/my/hessian/service"/&gt; ``` 这里,`ref`属性指定了服务实现的bean ID,`url`属性定义了Hessian服务的访问路径。 然后,我们需要在服务器端启动...

    hessian-3.3.6-API文档-中文版.zip

    Maven坐标:com.alipay.sofa:hessian:3.3.6; 标签:sofa、hessian、alipay、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...

    基于java的Hessian实现

    基于java实现hessian进行服务器之间数据交互demo项目 实现功能: 1.基于spring 2.5.6+hessian3.1.6带有签名安全机制 2.基于servlet代理机制实现HessianServlet,进行简单IP地址校验功能!

    hessianServer

    HessianServer指的是实现Hessian协议的服务端程序,通常用于构建分布式系统,使得不同的应用可以跨网络进行无缝通信。下面将详细介绍Hessian服务端的相关知识点。 1. **Hessian协议**: Hessian是Adobe公司开发的...

    hessian实现远程调用

    - 虽然Hessian提供了便利,但需要注意安全性问题,如防止未授权的远程调用,以及保护敏感数据。此外,可以考虑使用HTTPS协议来增强通信的安全性。 - 优化方面,可以通过缓存、负载均衡、压缩传输等方式提升远程...

    hessian-3.0.20-src.jar

    hessian是一个轻量级的Java Remoting方案

    Hessian多个版本打包下载

    这包括设置服务器端和客户端的Hessian服务,定义服务接口,处理序列化和反序列化的过程,以及调试可能出现的问题。在进行版本升级时,要注意兼容性问题,确保旧版本的服务仍能正常工作,同时充分利用新版本带来的...

    Hessian 使用小结

    - Spring集成Hessian:http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/remoting.html 通过这些资源,开发者可以更深入地理解并应用Hessian在实际项目中的各种场景。

    hessian-3.3.6-API文档-中英对照版.zip

    赠送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...

    基于WebService的Hessian例子教程

    本教程将深入讲解如何使用Hessian实现基于WebService的应用。 【描述】提供的教程包含了服务器端和客户端的实例代码,这两个例子旨在帮助开发者快速理解和应用Hessian。它们非常直观,可以直接运行,无需复杂配置,...

    Hessian例子.rar

    10. **调试工具**:有一些工具可以帮助开发者查看和调试Hessian通信,例如Hessian Browser,它可以显示Hessian请求和响应的详细内容,帮助定位问题。 在"Hessian例子.rar"这个压缩包中,可能包含了实现Hessian协议...

    hessian服务器和客户端

    在本项目中,我们探讨的是基于C#实现的Hessian服务端和客户端,已经在IIS环境下进行了测试并成功通过。 1. **Hessian协议**:Hessian是由Caucho公司开发的一种轻量级、高效的二进制协议,主要用于Web服务。它支持...

    Hessian

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

    hessian框架应用,实现远程调用,分布式开发

    2. **服务消费**:在客户端,开发者创建一个代理类,这个代理类是服务器端服务接口的实现,通过Hessian连接到服务器,实现远程调用。 三、`HessianServer`和`HessianClient`示例解析: `HessianServer`通常是一个...

Global site tag (gtag.js) - Google Analytics