首页 > 新闻系统 > 编程天地 > 文章正文

Spring集成XFire开发WebService

2007-09-20 14:04:40 来源:天极yesky 作者:蔡超 点击:
Spring是目前最流行的JavaEE Framework,但是使用Spring的Spring-WS开发WebService却十分繁琐。

  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);
}

9 7 3 1 2 4 8 :

精彩推荐
焦点大图推荐
本类热门文章

论坛美图

本周软件下载排行

广告联系 | 版权说明 | 意见建议 | 加入收藏 | 军网站群 [ 军软件园 - 军软件商城 - 军软件园论坛 ]

电信与信息服务业务经营许可证:京ICP证050203