`
xiaojiit
  • 浏览: 134167 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

基于xfire的web service搭建

    博客分类:
  • Java
阅读更多

这里,用的xfire1.2.6和Spring 2.0,开发工具用的MyEclispe,虽然MyEclipse自带了开发xfire的插件,但为了不依赖开发工具,所以以下为手动创建。

Xfire 可以很好的和Spring 集成,下面分两部分介绍

纯Xfire 的web service

1.1、先建一个web 项目,打开下载到的xfire包,将lib下的所有 Jar包和modules目录下的所有Jar包拷到web 项目的WEB-INF/lib目录下。

1.2、修改web.xml文件,添加如下内容,以支持xfire:

<servlet>

<servlet-name>XFireServlet</servlet-name> 

<servlet-class> org.codehaus.xfire.transport.http.XFireConfigurableServlet

</servlet-class>

<load-on-startup>0</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>XFireServlet</servlet-name>

<url-pattern>/services/*</url-pattern>

</servlet-mapping>

 这样,便可以通过http://localhost:8080/projectName/services/ 路径来访问所有发布的web services了。

 

1.3、在项目下的WEB-INF目录下建立META-INF/xfire/这个目录,在此目录下建立services.xml文件,这个文件用来添写我的要发布的web services。文件内容如下所示:

<beans>

<service  xmlns="http://xfire.codehaus.org/config/1.0">

<name>HelloService</name> 

<serviceClass>com.services.HelloService</serviceClass> <implementationClass>com.services.HelloServiceImpl</implementationClass>

</service>

</beans>

 文件的内容如下:

 

<service></service>:发布一个web service;

<name></name>:发布web service的名称;

<serviceClass></serviceClass>:提供服务的接口类;

<implementationClass></implementationClass>:实现服务接口类的具体类。

注:这里用的Spring 2.0,如果是用xfire 自带的Spring1.2.6,应该将  xmlns="http://xfire.codehaus.org/config/1.0放到<bean>里去定义。

1.4、下面,将这个web 项目,发布到tomcat下,便可以使用

http://localhost:8080/xfire/services/HelloService?wsdl

来调用这个web service了。

 于Spring 集成的Xfire 开发web services,这里用的是spring 2.0,如果是spring2.5,需要将spring-webmvc.jar添加进来。

下面说与Spring 集成的Xfire开发步骤

Spring 与xfire 有三种结合方式,下面以直接与spring集成的方法说明。

通过Spring的org.springframework.web.servlet.DispatcherServlet)。

2.1、将xfire与spring的JAR包放到web 项目的classPath

2.2、修改web.xml,使其支持Spring 与xfire,添加如下内容:

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>

/WEB-INF/conf/applicationContext.xml

classpath:org/codehaus/xfire/spring/xfire.xml

</param-value>

</context-param>

<listener>

<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>

</listener>

<servlet>

<servlet-name>xfire</servlet-name>

<servlet-class>

org.springframework.web.servlet.DispatcherServlet

</servlet-class>

<load-on-startup>0</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>xfire</servlet-name>

<url-pattern>/service/*</url-pattern>

</servlet-mapping>

 2.3、根据web.xml的内容,创建Spring的配置文件:applicationContext.xml

在本例中,将此文件放在WEB-INF/conf目录下。内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

   <bean id="helloBean" class="com.service.HelloServiceImpl" />

</beans>

这里,定义了一个bean,这里用的是web services接口的实现类。

2.4、在WEB-INF下创建xfire-servlet.xml文件,这里的xfire是org.springframework.web.servlet.DispatcherServlet这个servlet的名称,应该根据自己的进行修改

内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

<!-- 在这写上这名,这样就可以用applicationContext.xml里定义的Bean -->

<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" /> 


<!-- 这是定义URL映射 -->

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

<property name="urlMap">

<map>

<!-- 在这写每一个Web Service的URL映射 -->

<entry key="/HelloService"> //URL,访问地址

<ref bean="hello" />

</entry> 

</map>

</property>

</bean>


<!-- 定义一个基础Service,以下的Service引用它 -->

<bean id="baseWebService"

class="org.codehaus.xfire.spring.remoting.XFireExporter"

lazy-init="false" abstract="true">

<!-- 引用xfire.xml中定义的工厂 -->

<property name="serviceFactory" ref="xfire.serviceFactory" />

<!-- 引用xfire.xml中的xfire实例 xfire是web.xml配置的DispatcherServlet的名称-->

<property name="xfire" ref="xfire" />

</bean>


<!-- 定义一个Hello 的WebService,这里的serviceClass是接口 -->

<bean id="hello" parent="baseWebService">

<property name="serviceBean">

<ref bean="helloBean" />

</property>

<property name="serviceClass">

<value>com.service.HelloService</value>

</property>

</bean>

</beans>

 这样便生成一个web Service,可以通过域名来访问,并编写客户端代码了。

 

另一种方式,使用xfire自带的org.codehaus.xfire.spring.XFireSpringServlet这个类进行设置。

方法如下:

修改web.xml,添加如下内容:

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/applicationContext.xml</param-value>

</context-param>

<listener>

<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>

</listener>


<!--XFire 配置  -->

<servlet>

<servlet-name>XFireServlet</servlet-name>

<servlet-class>

org.codehaus.xfire.spring.XFireSpringServlet

</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>XFireServlet</servlet-name>

<url-pattern>/service/*</url-pattern>

</servlet-mapping>

 这样,便不必使用xfire-servlet.xml文件,直接在applicationContext.xml里添加Web Service的Bean就可以了。applicationContext.xml代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>


<!-- web service 配置 -->

<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />



<bean id="HelloServiceImpl"

class="com.service.impl.HelloServiceImpl" />


<bean id="HelloService"

class="org.codehaus.xfire.spring.remoting.XFireExporter">

<property name="xfire" ref="xfire" />

<property name="serviceBean" ref="HelloServiceImpl" />

<!-- WebService的实现类bean -->

<property name="serviceClass"

value="com.service.service.HelloService" />

</bean>

</beans>

 

 

但个Web Service是没有任何安全性可言的,任何拿到WSDL的人都可以轻松地构造客户端程序访问我们的Web Service服务。

<!--EndFragment-->
1
0
分享到:
评论

相关推荐

    myeclipse XFire Web service 例子

    【标题】:myeclipse XFire Web service 例子 【正文】: 在IT行业中,Web服务是一种基于互联网的标准协议,允许不同系统之间进行通信和数据交换。XFire是Apache CXF项目的前身,它是一个高性能、轻量级的Java Web...

    基于XFire与Spring集成的Web Service实现

    内容概要:本文档提供了基于XFire和Spring框架集成来搭建Web Service的基本指南。具体包含了创建服务接口和服务实现类(Echo 和 EchoImpl),并在Spring的应用上下文中配置XFire Exporter进行Web服务发布以及相应的...

    第15章 开发XFire Web Service应用.pdf

    ### 第15章 开发XFire Web Service应用 #### 15.1 引言 ##### 15.1.1 WebService简介 WebService(Web服务)是一项最初由微软和IBM提出的技术规范,旨在实现不同编程语言之间的网络功能互通互联。它的核心特性...

    第十五章 开发XFire Web Service应用22.pdf

    ### 第十五章 开发XFire Web Service应用22.pdf 知识点解析 #### 15.1 引言 ##### 15.1.1 WebService简介 WebService,中文通常译为Web服务,最初由IBM和微软共同提出的技术规范。它的核心在于提供一个标准化的...

    MyEclipse+xFire开发Web Service

    通过理解xFire的基本概念和MyEclipse的Web Services Project Wizard的使用方法,开发者可以轻松地搭建起Web服务的基础架构,进一步实现复杂的服务交互和集成。这个教程为初学者提供了一个良好的起点,让他们能够进入...

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

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

    java webservice基于xfire实例

    总结,Java WebService基于XFire的实例是一个很好的起点,让你了解如何在Java中构建和使用Web服务。通过这个实例,你可以学习到Web服务的基本概念,XFire的使用,以及如何创建和调用Web服务。随着对Web服务的深入...

    MyEclipse+XFire开发Web Services

    - **环境搭建**:掌握了如何在MyEclipse中安装和配置XFire插件,为后续开发打下了基础。 - **项目创建**:学习了如何在MyEclipse中创建Web Services项目,并使用XFire自动生成必要的服务文件。 - **部署与测试**:...

    使用XFire+Spring构建Web Service步骤

    Web Service是一种基于互联网的、平台独立的交互方式,它允许不同系统之间通过XML进行数据交换。WSDL(Web Service Description Language)用于定义服务接口,而UDDI(Universal Description, Discovery, and ...

    Xfire WebService框架搭建指南

    通过以上步骤,我们可以成功地利用Xfire框架搭建并运行一个完整的Web服务系统。Xfire以其简洁的配置和强大的功能,为开发人员提供了一种高效且灵活的方式来构建Web服务,无论是在服务器端创建服务,还是在客户端消费...

    MyEclipse[实战开发讲解入门..XFire.Web.Service.入门

    入门.doc”会指导开发者如何在MyEclipse环境中搭建Web Service服务器,创建服务端点,以及调用和测试Web Service。 6. **Struts 1 文件上传**:Struts 1是一个经典的MVC框架,文档“MyEclipse[1].6.实战开发讲解...

    webservice采用xfire搭建的所有jar包

    Web服务(Web Service)是一种基于互联网的、平台独立的交互方式,它允许不同的应用程序之间进行数据交换和功能调用。XFire是Java平台上的一个开源Web服务框架,它简化了创建和部署Web服务的过程。本压缩包...

    Xfire实战[Web服务开发之旅]

    Xfire是一个轻量级的、基于Java的Web服务框架,它提供了一种简单而高效的方式来构建和消费Web服务。Xfire的设计目标是使开发人员能够快速地创建出高性能、可扩展的Web服务应用。与其他Web服务框架相比,Xfire具有...

    使用xfire框架搭建webService的一个demo

    本示例将详细解释如何利用xfire框架搭建一个包含SOAP Header身份验证和WS-Security身份验证的Web Service。 首先,让我们了解`xfire`。Xfire(现为Apache CXF的一部分)是一个开源的Java框架,它简化了创建和使用...

    MyEclipse下通过Xfire实现Web服务发布的注意事项

    通过File &gt; New &gt; Other &gt; Web Services &gt; Web Service wizard,选择基于Java类创建Web服务。创建一个名为`HelloWebService`的Java类,放在`com.service`包下,自动生成对应的接口和实现类。在`services.xml`文件中...

    使用MyEclipse构建Web+Service.

    在深入探讨如何使用MyEclipse构建基于XFire框架的Web Service前,我们首先需对XFire框架及其环境搭建进行简要了解。 **XFire框架**:XFire是一个用于开发Java Web Services的轻量级框架,它提供了简单易用的API来...

    xfire搭建webservice服务端以及万能客户端所需jar包

    本知识点将深入讲解如何利用XFire搭建Web服务端以及创建万能客户端,并提供所需的jar包列表。 首先,我们来看服务端的搭建过程: 1. **引入依赖**:为了使用XFire,你需要在项目中引入必要的jar包。在"libs"目录下...

    XFire开发Web Services

    ### 使用XFire开发Web Services详解 #### 一、概述 XFire是一款开源的轻量级Web服务框架,它简化了Web服务的开发过程,使得开发者能够更轻松地创建和使用Web服务。本篇文章将详细介绍如何使用XFire来开发Web ...

    使用XFire发布WebService

    在Web服务的世界中,XFire是一个强大的开源框架,它使得开发和部署Web服务变得简单。XFire是Apache CXF的前身,它提供了全面的WS-*支持,包括SOAP、WSDL、UDDI、MTOM等标准,以及Java到XML绑定(如JAXB)和数据绑定...

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

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

Global site tag (gtag.js) - Google Analytics