Spring是目前最流行的JavaEE Framework,但是使用Spring的Spring-WS开发WebService却十分繁琐。XFire是一个简化WebService开发的开源项目,通过Spring和XFire的结合可以大大简化基于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文件中添加以下内容
- <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>/servlet/XFireServlet/*</url-pattern>
- </servlet-mapping>
-
- <servlet-mapping>
- <servlet-name>XFireServlet</servlet-name>
- <url-pattern>/services/*</url-pattern>
- </servlet-mapping>
2、配置Spring监听器
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- classpath:org/codehaus/xfire/spring/xfire.xml,
- /WEB-INF/applicationContext.xml
- </param-value>
- </context-param>
-
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
3、完整的web.xml文件如下
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http:
- http:
-
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- classpath:org/codehaus/xfire/spring/xfire.xml,
- /WEB-INF/applicationContext.xml
- </param-value>
- </context-param>
-
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
-
- <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>/servlet/XFireServlet/*</url-pattern>
- </servlet-mapping>
-
- <servlet-mapping>
- <servlet-name>XFireServlet</servlet-name>
- <url-pattern>/services/*</url-pattern>
- </servlet-mapping>
-
- </web-app>
4、编写服务接口及其实现类
接口
- package com.kuaff.xfire.samples;
-
- public interface MathService {
- public int add(int p1, int p2);
- }
实现类
- package com.kuaff.xfire.samples.impl;
-
- import com.kuaff.xfire.samples.MathService;
-
- public class MathServiceImpl implements MathService {
-
- private String str;
-
- public int add(int p1, int p2) {
- System.out.println(str);
- return p1 + p2;
- }
-
- public String getStr() {
- return str;
- }
-
- public void setStr(String str) {
- this.str = str;
- }
- }
5、配置服务
将上面实现的服务加入到spring配置文件
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
-
- <!-- 此处mathWS仅被下文引用-->
- <bean id="mathWS" class="com.kuaff.xfire.samples.impl.MathServiceImpl">
- <property name="str" value="123456789" />
- </bean>
- <!-- 此处MathService为被客户端使用的服务名-->
- <bean name="MathService" class="org.codehaus.xfire.spring.ServiceBean">
- <property name="serviceBean" ref="mathWS"/>
- <property name="serviceClass" value="com.kuaff.xfire.samples.MathService"/>
- <property name="inHandlers">
- <list>
- <ref bean="addressingHandler"/>
- </list>
- </property>
- </bean>
-
- <bean id="addressingHandler" class="org.codehaus.xfire.addressing.AddressingInHandler"/>
- </beans>
部署项目,在浏览器输入http://localhost:8080/WS_XFire_Service/services/MathService?wsdl验证部署是否成功
原文章:http://www.blogjava.net/chaocai/archive/2007/09/17/145932.html
分享到:
相关推荐
"WS_Spring_服务器端"和"WSClient_客户端"则分别代表了服务器端的Web服务实现和客户端的调用代码。这些文件可以帮助你理解如何实际操作和测试XFire与Spring结合发布的Web服务。 总的来说,XFire和Spring的结合使用...
综上所述,"xfire+spring"项目是一个结合了XFire Web服务框架和Spring企业级应用框架的项目,涵盖了客户端和服务器端的开发,涉及Web服务的创建、依赖管理、通信机制等多个重要知识点。在实际操作中,需要对这些技术...
XFire是一个基于Java的SOAP Web Service框架,而Spring是一个广泛应用的轻量级框架,它提供了依赖注入、面向切面编程等特性。将两者集成可以方便地构建和消费Web Service,实现服务的发布和调用。下面将详细介绍如何...
标题中的“eclipse使用xfire开发webservices server”意味着我们将使用Eclipse IDE和XFire来创建和部署一个Web服务服务器。以下是一步步的操作步骤: 1. **安装Eclipse和XFire插件**:首先确保你的Eclipse已经安装...
在本文中,我们将深入探讨Java XFire在构建Web服务服务器端的角色,以及如何利用它进行开发。 首先,让我们理解Web服务的基本概念。Web服务是一种基于互联网的软件应用,它提供了一种标准化的方式,使不同系统之间...
在提供的"TestXFireServer"文件中,很可能是包含了一个简单的XFire服务服务器端的测试程序。你可以运行这个程序,查看其如何设置和启动服务。同时,也可以参考这个示例来创建自己的服务和客户端。 总之,XFire是一...
本篇将深入探讨如何利用CXF框架在服务器端发布WebServices接口,并通过具体的实战代码来阐述这一过程。 一、CXF框架介绍 CXF全称是CXF-CXF Fuses XFire和 Celtix,是一个Java EE平台上的Web服务框架。它支持多种...
在本例中,我们将探讨如何使用XFire来创建一个简单的WebService服务器端。 首先,让我们了解什么是Web服务。Web服务是一种通过网络(通常使用HTTP协议)进行通信的应用程序接口。它们允许不同系统之间的数据交换,...
本篇文章将深入探讨XFire在实现Web服务方面的原理、用法以及如何在服务器端和客户端进行简单的调用。 首先,让我们理解什么是Web服务。Web服务是一种基于开放标准(如SOAP、WSDL和UDDI)的协议,使得不同系统能够...
5. **JAX-RPC或JAX-WS**:Java API for XML-based RPC或Web Services,是Java标准,用于构建Web服务客户端和服务器端。 在压缩包的"lib"目录下,很可能包含上述部分或全部组件的JAR文件。例如,可能包含XFire自身的...
它的客户端和服务器端代码都可以通过XFire自动生成,大大提升了开发效率。 在XFire的配置中,需要特别注意的是services.xml文件,这是用于定义服务接口的核心配置文件。它通常位于META-INF目录下,这个目录应该放在...
这将自动生成一个客户端代理类,如`HelloServiceClient`,用于调用服务器端的Web服务。 2.3 客户端调用:在生成的`HelloServiceClient`类中,找到`main`方法并修改为公共静态方法,然后通过这个方法实例化服务代理...
5. **部署服务**:使用CXF的服务器端组件,如Jetty或Tomcat,将服务部署为一个可访问的Web服务。这通常涉及到创建一个Spring配置文件或者使用CXF的命令行工具。 6. **消费服务**:在客户端,你可以使用CXF的客户端...
使用这些jar文件,开发者可以在他们的Java应用中集成XFire,创建一个能够与服务器端Web服务进行交互的客户端。他们需要导入这些库,然后使用XFire提供的API来构造请求,发送到Web服务,并处理返回的结果。 例如,一...
Xfire以其简洁的配置和强大的功能,为开发人员提供了一种高效且灵活的方式来构建Web服务,无论是在服务器端创建服务,还是在客户端消费服务,都变得更加便捷。然而,值得注意的是,Xfire目前已经不再活跃,可能无法...
- **xfire-jws.jar**: 提供对Java Web Services (JWS)的支持,允许直接在服务器端运行Java类作为Web服务。 - **xfire-xmpp.jar**: 支持XMPP协议,扩展了Web服务的交互方式。 - **xfire-annotations.jar**: 提供注解...
虽然XFire在当时是一个强大的工具,但随着技术的发展,它已经被更现代的框架如Apache CXF、Spring WebServices等取代。这些框架提供了更多的功能,如更好的WS-Security支持、更丰富的绑定选项和更紧密的Spring框架...
在本场景中,我们关注的是服务器端程序的实现,它通常由一系列接口定义和服务实现组成,通过SOAP(Simple Object Access Protocol)协议进行通信,使用WSDL(Web Services Description Language)进行服务描述,而...
xfire jar包是一款用于构建Web服务的开源框架,它提供了基于Java的SOAP和XML-RPC实现,便于开发者创建和消费Web服务。xfire-all-1.2.6.jar是这个框架的核心库,包含了xfire的主要功能,使得开发人员能够快速地在Java...
xfire是一个古老的开源Java库,主要用于构建Web服务客户端和服务器端的应用程序。它是一个基于Apache Axis的项目,致力于简化Web服务的开发过程,提供了一种更直观、更易于使用的API。xfire允许开发者通过简单的Java...