Spring是目前最流行的JavaEE Framework,但是使用Spring的Spring-WS开发WebService却十分繁琐。XFire是一个简化WebService开发的开源项目,通过Spring和XFire的结合可以大大简化基于Spring Framework的应用中的WebService开发。
Spring和XFire可以通过多种方式结合,下文介绍的是笔者常用的一种简单而实用的方法。所用的Spring版本为2.0,XFire版本为1.2.6.
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的监听器,同基于spring的Web项目一样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>
|
以下是完整的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://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<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>
|
3 定义接口及实现服务
定义接口,这个接口中定义要通过WebService暴露的方法
package org.ccsoft;
publicinterface HelloWS {
public String sayHello(String sb);
}
|
实现服务
package org.ccsoft;
publicclass HelloWSImp implements HelloWS {
public String sayHello(String sb) {
// TODO Auto-generated method stub
return"Hello "+sb;
}
}
|
4 配置服务
将上文中实现的服务,加入到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">
<bean id="helloWS" class="org.ccsoft.HelloWSImp"/>
<bean name="helloService" class="org.codehaus.xfire.spring.ServiceBean">
<property name="serviceBean" ref="helloWS"/>
<property name="serviceClass" value="org.ccsoft.HelloWS"/>
<property name="inHandlers">
<list>
<ref bean="addressingHandler"/>
</list>
</property>
</bean>
<bean id="addressingHandler" class="org.codehaus.xfire.addressing.
AddressingInHandler"/>
</beans>
|
分享到:
相关推荐
然而,在这个特定的案例中,我们使用的是XFire,因为它在早期被广泛使用,并且与Spring有良好的集成。 1. **安装和配置XFire**: 在开始之前,确保你的开发环境中已经包含了XFire的库。你可以通过Maven或Gradle将...
spring集成xfire webservice实现远程调用 将项目发布后,点击http://localhost:8080/SpringWebServiceTest/services/HelloWS?wsdl即可 其中也有客户端的调用,自己试试吧。
Spring+xFire 实现 WebService 是一种在 Java 开发中创建和使用 Web 服务的方式,它结合了 Spring 框架的灵活性和 xFire(现在称为 Apache CXF)的 Web 服务功能。以下是对这个技术栈的详细说明: 1. **环境配置**...
【标题】"用XFire开发WebService+Spring注解"涉及的主要知识点是利用XFire框架创建Web服务,并结合Spring框架的注解进行服务的管理和集成。XFire是一个强大的Java Web Service实现,它允许开发者轻松地创建和消费...
在Spring框架中集成XFire,可以充分利用Spring的IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)特性,使得Web服务的开发变得更加简洁和灵活。Spring通过提供一个名为...
2. XFire相关的jar文件:如`xfire-core`, `xfire-aegis`, `xfire-annotations`, `xfire-spring`等,它们提供了Web服务的实现和与Spring的集成支持。 在Spring配置中,我们可以通过以下步骤来配置XFire: 1. 引入...
XFire的亮点在于其轻量级、高性能以及与Spring的无缝集成。 当Spring与XFire结合时,可以利用Spring的DI来管理XFire的服务实例,这使得Web服务的生命周期更容易控制。下面是一些关键步骤来实现Spring+XFire的Web...
XFire 是一个 Java 框架,专门用于创建和消费 Web 服务,而 Spring 框架则提供了全面的企业级应用开发支持。将这两者结合可以利用 Spring 的强大功能来管理和配置 XFire,同时保持代码的简洁和模块化。 ### Spring ...
4. **启动XFire服务器**:使用XFire提供的启动器或Spring集成,启动服务监听指定端口。 5. **发布服务**:通过配置文件,XFire会自动扫描并发布实现的服务到指定的URL。 6. **消费Web服务**:使用XFire的客户端API...
【Spring-xfire 编写Web Service】章节主要探讨了如何在Spring框架中利用XFire开发Web Service。Web Service是一种分布式应用程序的技术平台,允许不同操作系统和编程语言的系统间进行互操作。本章的核心知识点包括...
Spring是一个广泛应用的Java企业级开发框架,而XFire是早期的Web服务实现库,它提供了轻量级、高效的SOAP(简单对象访问协议)服务支持。虽然XFire已被Apache CXF所取代,但理解其与Spring的集成对于理解现代Web服务...
### Spring与XFire集成解决方案详解 #### 一、Spring与XFire概述 Spring框架作为Java平台上最流行的轻量级框架之一,提供了强大的依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented ...
10. **持续集成与部署**:在开发完成后,XFire生成的客户端代码可以被包含在应用的构建过程中,便于持续集成和部署。 总的来说,通过这篇博客,我们可以学习到如何使用XFire这一工具来高效地在Java应用中集成和调用...
通过集成XFire和Spring,我们可以利用Spring的强大功能,如依赖注入和事务管理,简化Web Service的开发和维护。这种方式使得Web Service的实现更加灵活和易于扩展。同时,由于XFire支持多种协议,包括SOAP、REST等,...
9. **与Spring集成**: 如果你的项目基于Spring框架,你将学习如何将Xfire服务集成到Spring应用上下文中,以便利用Spring的依赖注入和管理功能。 10. **最佳实践和优化**: 掌握提高性能和可维护性的技巧,例如使用...
在XFire与Spring集成开发的过程中,主要分为以下几个步骤: 1. **配置web.xml**: - 首先,需要在`web.xml`中设置`context-param`来指定Spring的配置文件位置,这样Spring容器就可以加载相应的bean定义。 - 接着...
2. **创建Maven项目**:使用Maven的命令行工具或集成开发环境(IDE),创建一个新的Maven项目,并配置pom.xml文件,引入XFire的相关依赖。例如: ```xml <groupId>org.codehaus.xfire <artifactId>xfire-all ...
Xfire支持SOAP、WSDL和UDDI等Web服务标准,同时还提供了与Spring框架的良好集成。 ### 2. 服务端发布 发布一个Web服务在Xfire中通常涉及以下步骤: 1. **创建服务接口**:定义Web服务的业务逻辑,通常是Java接口...
在提供的文档《xfire+spring2_5开发webservice接口的两种方式.mht》中,详细讲解了这两种方法的实现步骤、示例代码和注意事项。读者可以通过阅读该文档,了解如何在Spring 2.5版本下结合XFire创建Web服务。 另一份...
本篇将详细讲解如何利用Spring 3.0与Xfire 1.2.6进行集成,以开发高效的Web服务。 首先,让我们了解Spring 3.0。Spring 3.0是Spring框架的一个重大更新,引入了许多新特性和改进,如支持JSR-303 Bean Validation,...