科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Spring集成XFire开发Web Service

Spring集成XFire开发Web Service

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Spring是目前流行的JavaEE Framework,XFire是一个简化WebService开发的开源项目,通过Spring和XFire的结合可以大大简化基于Spring Framework的应用中的Web Service开发。本文给出一种简单而实用的方法的源代码,供大家参考!

作者:蔡超 来源:天极网 2007年11月18日

关键字: Spring XFire Web service

  • 评论
  • 分享微博
  • 分享邮件

Spring是目前最流行的JavaEE Framework,但是使用Spring的Spring-WS开发WebService却十分繁琐。XFire是一个简化WebService开发的开源项目,通过Spring和XFire的结合可以大大简化基于Spring Framework的应用中的Web Service开发。

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>

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章