`
java_4_ever
  • 浏览: 5212 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

XFire + Spring构建Web Services服务器端(一)

 
阅读更多

Spring是目前最流行的JavaEE Framework,但是使用SpringSpring-WS开发WebService却十分繁琐。XFire是一个简化WebService开发的开源项目,通过SpringXFire的结合可以大大简化基于Spring Framework的应用中的WebService开发。下面介绍的是一种比较简单实用的开发方式。

XFire+Spring构建web service服务器端目前我知道的有两种办法,这是第一种

开发环境是:myeclipse8.6,Tomact6.0

Spring版本是2.5 XFire版本是1.2.6

新建web service project项目WS_XFire_Service,下载xfire1.2.6,下载后解压,将xfire-all-1.2.6.jar添加到项目中,lib下面是其他需要的jar包,不过此处注意:lib中包含一个spring-1.2.6.jar,这个jar包会和接下来你所添加的spring.jar冲突,可以删除spring-1.2.6.jar,也可不添加接下来的spring.jar

spring需要的jar包如下:


1、配置XFire Servlet。

在web.xml文件中添加以下内容

 

  1. <servlet>  
  2.         <servlet-name>XFireServlet</servlet-name>  
  3.         <servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class>  
  4.     </servlet>  
  5.   
  6.     <servlet-mapping>  
  7.         <servlet-name>XFireServlet</servlet-name>  
  8.         <url-pattern>/servlet/XFireServlet/*</url-pattern>  
  9.     </servlet-mapping>  
  10.   
  11.     <servlet-mapping>  
  12.         <servlet-name>XFireServlet</servlet-name>  
  13.         <url-pattern>/services/*</url-pattern>  
  14.     </servlet-mapping>  


2、配置Spring监听器

 

 

  1. <context-param>  
  2.         <param-name>contextConfigLocation</param-name>  
  3.         <param-value>  
  4.             classpath:org/codehaus/xfire/spring/xfire.xml,  
  5.             /WEB-INF/applicationContext.xml  
  6.        </param-value>  
  7.     </context-param>  
  8.   
  9.     <listener>  
  10.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  11.     </listener>  


3、完整的web.xml文件如下

 

 

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
  5.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  6.   
  7.     <context-param>  
  8.         <param-name>contextConfigLocation</param-name>  
  9.         <param-value>  
  10.             classpath:org/codehaus/xfire/spring/xfire.xml,  
  11.             /WEB-INF/applicationContext.xml  
  12.        </param-value>  
  13.     </context-param>  
  14.   
  15.     <listener>  
  16.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  17.     </listener>  
  18.   
  19.     <servlet>  
  20.         <servlet-name>XFireServlet</servlet-name>  
  21.         <servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class>  
  22.     </servlet>  
  23.   
  24.     <servlet-mapping>  
  25.         <servlet-name>XFireServlet</servlet-name>  
  26.         <url-pattern>/servlet/XFireServlet/*</url-pattern>  
  27.     </servlet-mapping>  
  28.   
  29.     <servlet-mapping>  
  30.         <servlet-name>XFireServlet</servlet-name>  
  31.         <url-pattern>/services/*</url-pattern>  
  32.     </servlet-mapping>  
  33.   
  34. </web-app>  


4、编写服务接口及其实现类

 

接口

 

  1. package com.kuaff.xfire.samples;  
  2.   
  3. public interface MathService {  
  4.     public int add(int p1, int p2);  
  5. }  


实现类

 

 

  1. package com.kuaff.xfire.samples.impl;  
  2.   
  3. import com.kuaff.xfire.samples.MathService;  
  4.   
  5. public class MathServiceImpl implements MathService {  
  6.     //此处变量str与程序逻辑无关,只是为了验证spring是否成功注入  
  7.     private String str;  
  8.       
  9.     public int add(int p1, int p2) {  
  10.         System.out.println(str);  
  11.         return p1 + p2;  
  12.     }  
  13.   
  14.     public String getStr() {  
  15.         return str;  
  16.     }  
  17.   
  18.     public void setStr(String str) {  
  19.         this.str = str;  
  20.     }  
  21. }  


5、配置服务

 

将上面实现的服务加入到spring配置文件

 

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">  
  5.   
  6. <!-- 此处mathWS仅被下文引用-->  
  7.     <bean id="mathWS" class="com.kuaff.xfire.samples.impl.MathServiceImpl">  
  8.         <property name="str" value="123456789" />  
  9.     </bean>  
  10. <!--    此处MathService为被客户端使用的服务名-->  
  11.     <bean name="MathService" class="org.codehaus.xfire.spring.ServiceBean">  
  12.         <property name="serviceBean" ref="mathWS"/>  
  13.         <property name="serviceClass" value="com.kuaff.xfire.samples.MathService"/>  
  14.         <property name="inHandlers">  
  15.           <list>  
  16.             <ref bean="addressingHandler"/>  
  17.           </list>  
  18.         </property>  
  19.     </bean>  
  20.       
  21.     <bean id="addressingHandler" class="org.codehaus.xfire.addressing.AddressingInHandler"/>  
  22. </beans>  

 

部署项目,在浏览器输入http://localhost:8080/WS_XFire_Service/services/MathService?wsdl验证部署是否成功



原文章:http://www.blogjava.net/chaocai/archive/2007/09/17/145932.html

 

分享到:
评论
2 楼 java_4_ever 2011-07-30  
wst0350 写道

也是初学
1 楼 wst0350 2011-07-29  

相关推荐

    XFire与Spring组合发布webservices

    "WS_Spring_服务器端"和"WSClient_客户端"则分别代表了服务器端的Web服务实现和客户端的调用代码。这些文件可以帮助你理解如何实际操作和测试XFire与Spring结合发布的Web服务。 总的来说,XFire和Spring的结合使用...

    xfire+spring

    综上所述,"xfire+spring"项目是一个结合了XFire Web服务框架和Spring企业级应用框架的项目,涵盖了客户端和服务器端的开发,涉及Web服务的创建、依赖管理、通信机制等多个重要知识点。在实际操作中,需要对这些技术...

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

    XFire是一个基于Java的SOAP Web Service框架,而Spring是一个广泛应用的轻量级框架,它提供了依赖注入、面向切面编程等特性。将两者集成可以方便地构建和消费Web Service,实现服务的发布和调用。下面将详细介绍如何...

    eclipse 使用xfire开发webservices server

    标题中的“eclipse使用xfire开发webservices server”意味着我们将使用Eclipse IDE和XFire来创建和部署一个Web服务服务器。以下是一步步的操作步骤: 1. **安装Eclipse和XFire插件**:首先确保你的Eclipse已经安装...

    java xfire webService服务器端

    在本文中,我们将深入探讨Java XFire在构建Web服务服务器端的角色,以及如何利用它进行开发。 首先,让我们理解Web服务的基本概念。Web服务是一种基于互联网的软件应用,它提供了一种标准化的方式,使不同系统之间...

    Webservices XFire框架的搭建与使用

    在提供的"TestXFireServer"文件中,很可能是包含了一个简单的XFire服务服务器端的测试程序。你可以运行这个程序,查看其如何设置和启动服务。同时,也可以参考这个示例来创建自己的服务和客户端。 总之,XFire是一...

    CXF 框架实战代码---服务器端发布WebServices接口

    本篇将深入探讨如何利用CXF框架在服务器端发布WebServices接口,并通过具体的实战代码来阐述这一过程。 一、CXF框架介绍 CXF全称是CXF-CXF Fuses XFire和 Celtix,是一个Java EE平台上的Web服务框架。它支持多种...

    XFire创建的WebService

    在本例中,我们将探讨如何使用XFire来创建一个简单的WebService服务器端。 首先,让我们了解什么是Web服务。Web服务是一种通过网络(通常使用HTTP协议)进行通信的应用程序接口。它们允许不同系统之间的数据交换,...

    webservice的xfire

    本篇文章将深入探讨XFire在实现Web服务方面的原理、用法以及如何在服务器端和客户端进行简单的调用。 首先,让我们理解什么是Web服务。Web服务是一种基于开放标准(如SOAP、WSDL和UDDI)的协议,使得不同系统能够...

    xfire需要的所有jar包

    5. **JAX-RPC或JAX-WS**:Java API for XML-based RPC或Web Services,是Java标准,用于构建Web服务客户端和服务器端。 在压缩包的"lib"目录下,很可能包含上述部分或全部组件的JAR文件。例如,可能包含XFire自身的...

    xfire 使用方法

    它的客户端和服务器端代码都可以通过XFire自动生成,大大提升了开发效率。 在XFire的配置中,需要特别注意的是services.xml文件,这是用于定义服务接口的核心配置文件。它通常位于META-INF目录下,这个目录应该放在...

    在MyEclipse中使用XFire开发WebService

    这将自动生成一个客户端代理类,如`HelloServiceClient`,用于调用服务器端的Web服务。 2.3 客户端调用:在生成的`HelloServiceClient`类中,找到`main`方法并修改为公共静态方法,然后通过这个方法实例化服务代理...

    简单的xfire例子

    5. **部署服务**:使用CXF的服务器端组件,如Jetty或Tomcat,将服务部署为一个可访问的Web服务。这通常涉及到创建一个Spring配置文件或者使用CXF的命令行工具。 6. **消费服务**:在客户端,你可以使用CXF的客户端...

    xfire客户端需要的jar

    使用这些jar文件,开发者可以在他们的Java应用中集成XFire,创建一个能够与服务器端Web服务进行交互的客户端。他们需要导入这些库,然后使用XFire提供的API来构造请求,发送到Web服务,并处理返回的结果。 例如,一...

    Xfire WebService框架搭建指南

    Xfire以其简洁的配置和强大的功能,为开发人员提供了一种高效且灵活的方式来构建Web服务,无论是在服务器端创建服务,还是在客户端消费服务,都变得更加便捷。然而,值得注意的是,Xfire目前已经不再活跃,可能无法...

    xfire实现webservce所要的包

    - **xfire-jws.jar**: 提供对Java Web Services (JWS)的支持,允许直接在服务器端运行Java类作为Web服务。 - **xfire-xmpp.jar**: 支持XMPP协议,扩展了Web服务的交互方式。 - **xfire-annotations.jar**: 提供注解...

    WebService(二):XFire实现WebService

    虽然XFire在当时是一个强大的工具,但随着技术的发展,它已经被更现代的框架如Apache CXF、Spring WebServices等取代。这些框架提供了更多的功能,如更好的WS-Security支持、更丰富的绑定选项和更紧密的Spring框架...

    WebService服务器端程序

    在本场景中,我们关注的是服务器端程序的实现,它通常由一系列接口定义和服务实现组成,通过SOAP(Simple Object Access Protocol)协议进行通信,使用WSDL(Web Services Description Language)进行服务描述,而...

    xfire jar包

    xfire jar包是一款用于构建Web服务的开源框架,它提供了基于Java的SOAP和XML-RPC实现,便于开发者创建和消费Web服务。xfire-all-1.2.6.jar是这个框架的核心库,包含了xfire的主要功能,使得开发人员能够快速地在Java...

    xfire example

    xfire是一个古老的开源Java库,主要用于构建Web服务客户端和服务器端的应用程序。它是一个基于Apache Axis的项目,致力于简化Web服务的开发过程,提供了一种更直观、更易于使用的API。xfire允许开发者通过简单的Java...

Global site tag (gtag.js) - Google Analytics