`
baobeituping
  • 浏览: 1068057 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

spring+xifre 发布webservice服务

 
阅读更多

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

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

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

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

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

Itest.java 代码
 
  1. package test;  
  2.   
  3. import org.json.JSONException;  
  4.   
  5. public interface IHello  
  6. {  
  7.     public String hello();  
  8.     public String helloTo(String name);  
  9.     public String getJsonData(String pageIndex,String pageSize);  
  10. }  


    

HelloImpl.java 代码
 
  1. package test;  
  2.   
  3. import java.util.*;  
  4.   
  5. import javax.servlet.http.HttpServletRequest;  
  6. import javax.servlet.http.HttpSession;  
  7.   
  8. import org.codehaus.xfire.transport.http.XFireServletController;  
  9. import org.json.JSONException;  
  10. import org.json.JSONStringer;  
  11.   
  12. public class HelloImpl implements IHello  
  13. {  
  14.   
  15.     public String hello()  
  16.     {  
  17.     return "hello";  
  18.     }  
  19.   
  20.     public String helloTo(String name)  
  21.     {  
  22.     return " hello " + name + "!";  
  23.     }  
  24.   
  25.     private void example()  
  26.     {  
  27.     //使用session  
  28.      HttpServletRequest request = XFireServletController.getRequest();  
  29.      HttpSession session = request.getSession();  
  30.     }  
  31.   
  32.     public String getJsonData(String pageIndex,String pageSize)   
  33.     {  
  34.     String rtnValue = "";  
  35.       
  36.     rtnValue = "";  
  37.     for(int i=0;i
  38.     {  
  39.         rtnValue = rtnValue + "{'lastname': 'last" + pageIndex + "-" + i + "', 'firstname': 'first" + pageIndex + "-" + i + "' },";  
  40.     }  
  41.     rtnValue = rtnValue + "{'lastname': 'last', 'firstname': 'last' }";  
  42.       
  43.     rtnValue = "{'context':["  + rtnValue + "],'pager':[{'totalRecord':'100','totalpage':'10','pageIndex':'" + pageIndex + "','pageSize':'10'}]}";  
  44.       
  45.     return rtnValue;  
  46.     }  
  47. }  


就这样写就可以了

关于三个配置文件

web.xml修改如下

xml 代码
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns="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/j2ee   http://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.       
  16.     <!-- 启动时加载SpringContextServlet -->  
  17.     <listener>  
  18.         <listener-class>  
  19.             org.springframework.web.context.ContextLoaderListener  
  20.         </listener-class>  
  21.     </listener>  
  22.     <listener>   
  23.         <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>   
  24.     </listener>   
  25.   
  26.     <listener>  
  27.         <listener-class>  
  28.             org.springframework.web.util.IntrospectorCleanupListener  
  29.         </listener-class>  
  30.     </listener>  
  31.       
  32.       <!-- XFire 配置 -->  
  33.       <servlet>   
  34.         <servlet-name>xfire</servlet-name>   
  35.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>   
  36.       </servlet>   
  37.         
  38.       <servlet-mapping>  
  39.         <servlet-name>xfire</servlet-name>  
  40.         <url-pattern>*.ws</url-pattern>  
  41.       </servlet-mapping>  
  42.         
  43.       <welcome-file-list>  
  44.         <welcome-file>index.html</welcome-file>  
  45.       </welcome-file-list>  
  46. </web-app>  


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

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

testService.ws?wsdl

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

例子很简单,不过多解释,源码查看附件

xml 代码

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">  
  3. <beans>   
  4.     <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">   
  5.         <property name="urlMap">  
  6.             <map>  
  7.                 <entry key="/testService.ws">  
  8.                     <ref bean="test"/>    
  9.                 </entry>   
  10.             </map>   
  11.         </property>  
  12.       </bean>   
  13.         
  14.       <bean id="test" parent="webService" class="org.codehaus.xfire.spring.remoting.XFireExporter">   
  15.         <property name="serviceBean">   
  16.             <ref bean="testBean"/>   
  17.         </property>   
  18.         <property name="serviceClass">   
  19.             <value>test.IHello</value>   
  20.         </property>   
  21.       </bean>   
  22.           
  23.       <!-- webService base -->  
  24.       <bean id="webService" class="org.codehaus.xfire.spring.remoting.XFireExporter" abstract="true">  
  25.         <property name="serviceFactory">  
  26.             <ref bean="xfire.serviceFactory" />  
  27.         </property>  
  28.         <property name="xfire">  
  29.             <ref bean="xfire" />  
  30.         </property>  
  31.      </bean>  
  32. </beans>  


spring 的配置文件 applicationContext-webService.xml

xml 代码

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">    
  3. <beans>  
  4.     <bean id="testBean" class="test.HelloImpl"></bean>  
  5. </beans>  


查看wsdl    http://localhost:8080/mootools/

 

客户端可以采用XFIRE的调用方法:

首先下载XIFRE的客户端插件,可以参考我的XIFRE发布WEBSERVICE的调用方法里面有写。

代码附件XFire.rar

Client就是调用方法

分享到:
评论

相关推荐

    Spring+CXF 发布WebService服务

    本文将深入探讨如何使用Spring和CXF来发布WebService服务。 首先,Spring是一个开源的Java平台,它提供了全面的编程和配置模型,用于简化企业级应用的开发。Spring框架的核心特性包括依赖注入、面向切面编程(AOP)...

    Struts+Spring+Hibernate+WebService集成架构

    总的来说,"Struts+Spring+Hibernate+WebService"的集成架构是Java Web开发中常见的解决方案,它结合了MVC框架、企业级服务管理、ORM工具和跨平台通信技术,为复杂的企业应用提供了强大的支撑。这种架构允许开发者...

    CXF+Spring+Tomcat发布WebService

    【标题】"CXF+Spring+Tomcat发布WebService"涉及的是使用Apache CXF框架与Spring框架结合,在Tomcat服务器上部署和消费Web服务的过程。这是一个常见的企业级应用开发场景,特别是对于实现基于SOAP协议的Web服务。...

    使用Eclipse+Maven+Spring+CXF构建的WebService服务

    Web项目中基于Maven与Spring整合的WebService之cxf的实现⬇️ 详情请参考如下链接: https://locqi.github.io/locqi.com/2018/09/05/Eclipse+Maven+Spring+CXF-create-WebService/

    Struts+Spring+Hibernate+WebService集成架构.doc

    在Struts+Spring+Hibernate的集成架构中,WebService作为服务层,可以将后端的业务逻辑和数据暴露给外部系统,实现系统的集成和扩展。 #### 六、集成架构的分层设计 Struts+Spring+Hibernate+WebService的集成架构...

    xfire+spring+maven构建webservice服务器和客户端

    标题中的“xfire+spring+maven构建webservice服务器和客户端”揭示了本教程将围绕三个主要技术进行讨论:XFire、Spring和Maven。这三者都是Java开发中不可或缺的工具,尤其在构建Web服务方面。 XFire是早期的一个...

    Spring+cxf请求webService

    【Spring+CXF请求WebService详解】 在Java开发领域,Spring框架以其强大的依赖注入和面向切面编程能力被广泛应用,而CXF则是一个优秀的开源服务开发框架,支持SOAP和RESTful服务。当Spring与CXF结合使用时,可以...

    Spring + cxf = webservice 完整实例源码免费下载

    Spring + cxf = webservice 完整实例源码免费下载 完全免费。此资源仅为文档提供。 版权为百度文档 "Spring + cxf = webservice 完整实例源码免费下载" 所有。

    spring+xfire( 编写webservice完整配置+案例)

    Spring 和 XFire 是一个经典的组合,用于在Java应用程序中创建和消费Web服务。Spring作为一个强大的框架,提供了全面的依赖注入和面向切面编程能力,而XFire是早先的Web服务实现,它允许开发者轻松地将Java接口转换...

    spring+mybatis+cxf webservice实现

    调用webservice,插入数据,整合druid监控数据源;... webservice配置文件在spring-mvc.xml和web.xml中; 数据库监控地址http://localhost:8080/taixingMsg/druid/index.html... 各位同仁,生命不止,奋斗不息

    Spring+CXF+tomcat开发webservice

    这个项目"Spring+CXF+tomcat开发webservice"旨在教你如何利用这些技术搭建一个完整的Web服务环境,包括服务端和服务端客户端的实现。 **Spring** 是一个广泛使用的Java企业级应用开发框架,它提供了依赖注入(DI)...

    Spring+CXF发布webservice

    【Spring+CXF发布Web服务】是将Spring框架与Apache CXF结合,用于构建和部署Web服务的一个常见实践。在本文中,我们将深入探讨这个主题,了解如何利用这两个强大的工具来创建、配置和运行Web服务。 Spring框架是...

    spring+cxf的webservice

    在描述中提到的“WebService—CXF发布服务spring+cxf的doc文档”,意味着这个压缩包可能包含了关于如何使用Spring和CXF来发布Web服务的文档。这些文档通常会包含详细的步骤,指导开发者如何配置Spring XML配置文件,...

    Spring+Hibernate+Xfire+发布WebService

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

    xfire+spring+webservice+client

    标题中的“xfire+spring+webservice+client”是一个关于集成XFire、Spring框架和Web服务客户端的专题,这涉及到Java开发中的一项重要技术——Web服务的消费与提供。在这个主题下,我们将深入探讨以下几个核心知识点...

    spring+hibernate+struts+XFire的webService实例

    本实例"Spring+Hibernate+Struts+XFire的WebService"提供了一个全面的框架整合,用于创建功能丰富的Web服务。以下将详细解析这个实例所涉及的技术点: 1. **Spring框架**:Spring是一个开源的Java平台,它为开发...

Global site tag (gtag.js) - Google Analytics