`
zxingchao2005
  • 浏览: 80474 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

WebService开发实例 (Xfire+Spring+Hibernate)

 
阅读更多

利用xfire编写webservice的例子,内容如下

1. xfire + spring 发布webservice
2. 利用 javascript 调用发布的webservice

使用xfire+spring发布webservice其实很简单,遵循一下几个步骤即可

1. 想要发布成文webservice的类,必须实现接口
2. 3个配置文件(后面详细说)

下面针对以上步骤详细说明
关于1中的要求,给个例子就明白了

Itest.java 代码
  1. packagetest;
  2. importorg.json.JSONException;
  3. publicinterfaceIHello
  4. {
  5. publicStringhello();
  6. publicStringhelloTo(Stringname);
  7. publicStringgetJsonData(StringpageIndex,StringpageSize);
  8. }


HelloImpl.java 代码
  1. packagetest;
  2. importjava.util.*;
  3. importjavax.servlet.http.HttpServletRequest;
  4. importjavax.servlet.http.HttpSession;
  5. importorg.codehaus.xfire.transport.http.XFireServletController;
  6. importorg.json.JSONException;
  7. importorg.json.JSONStringer;
  8. publicclassHelloImplimplementsIHello
  9. {
  10. publicStringhello()
  11. {
  12. return"hello";
  13. }
  14. publicStringhelloTo(Stringname)
  15. {
  16. return"hello"+name+"!";
  17. }
  18. privatevoidexample()
  19. {
  20. //使用session
  21. HttpServletRequestrequest=XFireServletController.getRequest();
  22. HttpSessionsession=request.getSession();
  23. }
  24. publicStringgetJsonData(StringpageIndex,StringpageSize)
  25. {
  26. StringrtnValue="";
  27. rtnValue="";
  28. for(inti=0;i<Integer.parseInt(pageSize);i++)
  29. {
  30. rtnValue=rtnValue+"{'lastname':'last"+pageIndex+"-"+i+"','firstname':'first"+pageIndex+"-"+i+"'},";
  31. }
  32. rtnValue=rtnValue+"{'lastname':'last','firstname':'last'}";
  33. rtnValue="{'context':["+rtnValue+"],'pager':[{'totalRecord':'100','totalpage':'10','pageIndex':'"+pageIndex+"','pageSize':'10'}]}";
  34. returnrtnValue;
  35. }
  36. }


就这样写就可以了

关于三个配置文件

web.xml修改如下

xml 代码
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <web-appxmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"version="2.4"xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  3. <!--配置文件路径开始-->
  4. <context-param>
  5. <param-name>log4jConfigLocation</param-name>
  6. <param-value>/WEB-INF/classes/log4j.properties</param-value>
  7. </context-param>
  8. <context-param>
  9. <param-name>contextConfigLocation</param-name>
  10. <param-value>
  11. /WEB-INF/classes/applicationContext*.xml
  12. classpath:org/codehaus/xfire/spring/xfire.xml
  13. </param-value>
  14. </context-param>
  15. <!--启动时加载SpringContextServlet-->
  16. <listener>
  17. <listener-class>
  18. org.springframework.web.context.ContextLoaderListener
  19. </listener-class>
  20. </listener>
  21. <listener>
  22. <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  23. </listener>
  24. <listener>
  25. <listener-class>
  26. org.springframework.web.util.IntrospectorCleanupListener
  27. </listener-class>
  28. </listener>
  29. <!--XFire配置-->
  30. <servlet>
  31. <servlet-name>xfire</servlet-name>
  32. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  33. </servlet>
  34. <servlet-mapping>
  35. <servlet-name>xfire</servlet-name>
  36. <url-pattern>*.ws</url-pattern>
  37. </servlet-mapping>
  38. <welcome-file-list>
  39. <welcome-file>index.html</welcome-file>
  40. </welcome-file-list>
  41. </web-app>


这里注意 classpath:org/codehaus/xfire/spring/xfire.xml 必须要写进去

xfire-servlet.xml 新建这个文件,并且和web.xml放在同一个文件夹
注意: 名称和位置都不能变(也许可以改,我不知道)

xml 代码
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd">
  3. <beans>
  4. <beanclass="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  5. <propertyname="urlMap">
  6. <map>
  7. <entrykey="/testService.ws">
  8. <refbean="test"/>
  9. </entry>
  10. </map>
  11. </property>
  12. </bean>
  13. <beanid="test"parent="webService"class="org.codehaus.xfire.spring.remoting.XFireExporter">
  14. <propertyname="serviceBean">
  15. <refbean="testBean"/>
  16. </property>
  17. <propertyname="serviceClass">
  18. <value>test.IHello</value>
  19. </property>
  20. </bean>
  21. <!--webServicebase-->
  22. <beanid="webService"class="org.codehaus.xfire.spring.remoting.XFireExporter"abstract="true">
  23. <propertyname="serviceFactory">
  24. <refbean="xfire.serviceFactory"/>
  25. </property>
  26. <propertyname="xfire">
  27. <refbean="xfire"/>
  28. </property>
  29. </bean>
  30. </beans>


spring 的配置文件 applicationContext-webService.xml

xml 代码
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd">
  3. <beans>
  4. <beanid="testBean"class="test.HelloImpl"></bean>
  5. </beans>


查看wsdl http://localhost:8080/mootools/testService.ws?wsdl

运行 进入 index.html 页面,点击 即可执行调用,正常显示表示发布成功,调用失败会返回error(运行前请修改index.html文件的源码,将url修改成真正的url)

例子很简单,不过多解释,源码查看附件
http://www.javaeye.com/topic/99397

分享到:
评论

相关推荐

    Xfire+spring+hiebrnate webService

    综合来看,"Xfire+Spring+Hibernate WebService"项目利用了这些工具和技术的协同工作,实现了高效、灵活的Web服务开发。Xfire提供Web服务的基础框架,Spring为业务逻辑提供了容器和管理,而Hibernate则处理了数据...

    xfire+spring+hibernate的一种整合方式

    本案例中的"xfire+spring+hibernate"是一种早期的整合方式,它将Web服务(通过XFire实现)、Spring框架的依赖注入与管理以及Hibernate的持久层处理结合在一起。以下是对这种整合方式的详细解释。 1. **XFire**:...

    Spring+Hibernate+Xfire+发布WebService

    Spring+Hibernate+Xfire+发布WebService教程文档

    Xfire配置Web Service+Spring+Hibernate详细配置流程

    以下是关于"Xfire配置Web Service+Spring+Hibernate详细配置流程"的知识点详解: 1. **Spring框架**: Spring是Java企业级应用开发的首选框架,提供依赖注入(DI)和面向切面编程(AOP)。在Web服务场景中,Spring...

    ssh及XFire+Spring构建WebService

    SSH(Struts2 + Spring + Hibernate)是一种常见的Java Web开发框架组合,用于构建高效、可维护的Web应用程序。Struts2提供了MVC(Model-View-Controller)架构,Spring为应用提供依赖注入(DI)和面向切面编程(AOP...

    webservice整合spring+xfire+Hibernate(包含代码+配置手册 测试通过)

    网上资料大多是只有spring+xfire 含有Hibernate的少 3.配置时候还遇到spring实现 客户端调用服务器端时候 注入失败 4.在服务器端向客户端做映射的时候失败 5.在服务器端获取非基本类转化问题

    spring+hibernate+struts+XFire的webService实例

    总结来说,"Spring+Hibernate+Struts+XFire的WebService实例"提供了一个完整的Java Web服务解决方案,涵盖了从数据持久化到用户界面,再到Web服务的整个开发流程。这个实例对于学习和理解企业级Java应用的开发具有很...

    spring webService hibernate结合xfire

    标题 "spring webService hibernate结合xfire" 描述了一个整合技术的应用,即Spring、Web服务(WebService)和Hibernate框架与Xfire的结合。在这个项目中,开发者可能想要创建一个基于Java的Web服务,该服务能够利用...

    JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例

    JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例(已上传) 1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、...

    WebService与hibernate,spring整合实例

    总的来说,这个实例展示了如何在Java环境中使用XFire来创建和消费WebService,同时结合Hibernate进行数据持久化,利用Spring框架进行服务管理和依赖管理,形成一个完整的分布式系统解决方案。这对于我们理解和掌握...

    websevice,spring,cxg,ibatis

    CXF环境配置 - jackymin CXF与Spring的集成 log4j的配置使用 Spring XML配置十二个最佳实践WebService开发实例 (Xfire+Spring+Hibernate)

    Xfire Spring Hibernate 发布WebService(源码)

    Xfire Spring Hibernate 发布WebService(源码) Xfire1.2 Spring 2.0 Hibernate 3 发布WebService 一、准备工作 1、下载安装MyEclipse6.5 2、下载安装MySQL Server 5.1 3、下载MySQL驱动 mysql-connector-java...

    Xfire配置Web Service+Spring+Hibernate详细流程

    ### Xfire配置Web Service+Spring+Hibernate详细流程 在IT领域,尤其是企业级应用开发中,集成Web Service、Spring框架以及Hibernate技术是非常常见的需求。本文将深入解析如何使用Xfire来配置并集成这三个核心技术...

    Spring+hibernate+Xfire

    标题中的"Spring+Hibernate+Xfire"是一个集成开发的框架组合,主要应用于Java后端开发。这个组合将Spring的依赖注入、事务管理等优势,与Hibernate的持久化能力,以及Xfire的Web服务支持相结合,形成一个强大的企业...

    Xfire Spring Hibernate 发布WebService

    【Xfire Spring Hibernate 发布WebService】是将Xfire、Spring和Hibernate这三种技术结合,用于在MyEclipse环境中创建和发布Web服务。Xfire是一个基于Java的SOAP和REST Web服务框架,Spring则提供了依赖注入和AOP...

    xfire+webservice(服务器配置篇)

    本文档主要介绍了如何在现有的Spring2.5+Hibernate3.2基础上添加XFire来实现WebService服务的配置过程。通过逐步指导的方式,帮助读者了解整个配置流程,并提供相关的截图以辅助理解。 #### 环境准备 在开始之前,...

    xfire集成spring+hiernate实现webservice样例工程

    【xfire集成spring+hibernate实现webservice样例工程】是一个典型的Java开发中的整合案例,它演示了如何将三个重要的技术框架——XFire、Spring和Hibernate有效地结合在一起,以构建一个提供Web服务的工程。...

    Xfire配置Web Service+Spring+Hibernate详细流程及补充+测试实例.rar

    invalid SOAP request: 当在浏览其中报此错误的时候,实际上是因为WebService针对的是客户端请求,而不是浏览器的访问. 只要建立了测试类,在测试类中访问就可以了. applicationContext.xml 一直是放置在WEB-INF目录...

    xfire webservice 实例

    【xfire webservice 实例】是一个综合性的项目,它整合了xfire、Spring和Hibernate三大技术,用于构建高效、灵活的Web服务。Xfire是一款强大的Java Web服务框架,它简化了创建、部署和消费Web服务的过程。Spring是...

    cxf+spring+hibernate集成整合jar包

    "cxf+spring+hibernate集成整合jar包"就是这样一个集合,它将三个关键的技术框架——CXF、Spring和Hibernate整合在一起,为开发人员提供了一个强大的后端服务开发平台。以下是对这些技术及其集成的详细解释。 **CXF...

Global site tag (gtag.js) - Google Analytics