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

使用xfire+spring编写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<Integer.parseInt(pageSize);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放在同一个文件夹
注意: 名称和位置都不能变(也许可以改,我不知道)

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/testService.ws?wsdl 

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

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

 

  • mootools.rar (239 KB)
  • 描述: xfire+spring发布webservice例子
  • 下载次数: 1868

分享到:
评论

相关推荐

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

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

    使用xfire+spring编写webservice例子,供大家学习与交流

    本示例将详细介绍如何使用XFire和Spring框架来构建一个Web服务。XFire是Apache CXF的一部分,它是一个用于创建、部署和管理Web服务的开源工具,而Spring是一个广泛使用的Java企业级应用开发框架,提供了一个全面的...

    使用XFire+Spring构建Web Service

    本篇文章将详细探讨如何使用XFire和Spring来构建Web Service,以及它们各自的核心特性与优势。 首先,XFire是一个基于Java的轻量级Web服务框架,它允许开发者快速地创建和部署SOAP Web服务。XFire提供了直观的API和...

    XFire+Spring整合的依赖包

    3. 注解服务类:使用JAX-WS的注解(如@WebService)标记服务接口和实现类,使它们成为Web服务。 4. 启动服务:在Spring上下文中启动XFire,使服务对外可用。 通过这种方式,开发者可以利用Spring的IoC(控制反转)...

    XFire+Spring发布Web Service(一)

    在本教程中,我们将深入探讨如何使用XFire和Spring框架来发布Web服务。XFire是Apache CXF项目的一部分,它是一个强大的Java Web服务框架,而Spring则是Java开发中的一个核心框架,提供了依赖注入、AOP(面向切面编程...

    webservice xfire整合spring(webservice配置采用注解)例子

    【标题】中的“webservice xfire整合spring(webservice配置采用注解)”是指将Xfire,一个早期的Web服务框架,与Spring框架结合使用,其中Web服务的配置通过Spring的注解方式进行。这种方式简化了配置,提高了开发...

    Spring+xFire实现webService

    Spring+xFire 实现 WebService 是一种在 Java 开发中创建和使用 Web 服务的方式,它结合了 Spring 框架的灵活性和 xFire(现在称为 Apache CXF)的 Web 服务功能。以下是对这个技术栈的详细说明: 1. **环境配置**...

    xfire+spring+mybatis+mysql整合源码,含服务端跟客户端

    简单好用的服务器框架,解压直接使用,对看不懂配置的小白来说,去安装个MySQL数据库,数据库密码设置ywd123。然后新建数据库,数据库名:springmybaitis.数据库下新建表user,增加三个字段,id(主键),username,...

    用XFire开发WebService+Spring注解

    【标题】"用XFire开发WebService+Spring注解"涉及的主要知识点是利用XFire框架创建Web服务,并结合Spring框架的注解进行服务的管理和集成。XFire是一个强大的Java Web Service实现,它允许开发者轻松地创建和消费...

    spring+hibernate+struts+XFire的webService实例

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

    整理xfire和spring的集成 web service 面向服务编程 java

    【整合XFire与Spring进行Web Service开发】 XFire是一个基于Java的SOAP Web Service框架,而Spring是一个广泛应用的轻量级框架,它提供了依赖注入、面向切面编程等特性。将两者集成可以方便地构建和消费Web Service...

    webservice xfire jar包 spring

    2. **编写Spring配置**:在Spring配置文件中,使用`&lt;xfire:service&gt;`或`&lt;bean&gt;`标签声明Web服务,指定接口、实现类和相关属性。 3. **暴露服务**:通过添加`&lt;xfire:transport&gt;`标签,你可以配置XFire使用HTTP、HTTPS...

    xfire-spring:xfire1.2.6+spring3.2.5webservice示例程序

    1. **服务定义**:在xfire-spring中,Web服务接口通常定义为Java接口,然后使用Spring的`@WebService`注解进行标记。这使得服务接口可以与其他Spring组件无缝集成。 2. **服务实现**:服务实现类继承自Spring的`...

    Spring+xFire+wss4j配置Helloworld完整版,Myeclipse项目服务端+客户端.rar

    在本教程中,我们将深入探讨如何使用Spring框架与xFire集成,同时利用wss4j进行WS-Security安全配置,创建一个"Hello World"的Web服务。这是一个完整的MyEclipse项目,包括服务端和客户端的工程,旨在帮助开发者快速...

    使用Xfire构建JAVA的webService全过程(从服务端到客户端)

    本文将深入探讨如何使用Xfire来创建一个完整的JAVA Web服务,包括服务端和客户端的实现。 首先,Xfire是一个基于Apache CXF的轻量级Web服务框架,它支持SOAP、RESTful以及WS-*规范,提供快速、高效的开发体验。在...

    webservice服务端jar.rar

    总的来说,"webservice服务端jar.rar"是一个包含Xfire框架组件的压缩包,用于开发和部署Java Web服务。开发者可以通过导入这个JAR文件到他们的项目中,利用Xfire提供的工具和功能,快速构建服务端的Web服务接口,...

    Java使用XFire调用WebService接口

    这篇博客“Java使用XFire调用WebService接口”显然是讨论如何利用XFire这个开源框架来与Web服务交互。 XFire是Apache CXF项目的前身,它提供了一种简单的方式来创建和消费SOAP Web服务。XFire的强项在于其轻量级和...

    cxf+spring webService实例

    CXF和Spring是两个非常重要的Java框架,它们可以结合使用来构建高效的Web服务。在这个"CXF+Spring WebService实例"中,我们将深入探讨如何利用这两个工具来创建、发布和消费Web服务。 CXF全称为CXF CXF (CXF XFire ...

    Spring+cxf请求webService

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

    XFire创建WebService服务端和客户端

    在这个主题中,我们将深入探讨如何使用XFire来创建服务端和客户端的Web服务。 一、XFire服务端创建 1. **环境准备**:首先,你需要安装Java Development Kit (JDK) 并设置好环境变量。然后,下载XFire的最新版本并...

Global site tag (gtag.js) - Google Analytics