斌斌 (给我写信) 原创博文(http://blog.csdn.net/binbinxyz),转载请注明出处!
XFire是一个免费的开源SOAP框架,它提供简单的API支持Web Service各项标准协议,使用它可以方便快速地开发Web Service应用。
笔者不去介绍有关WebService的概念、原理等,只是关注如何快速开发出来一个简单的、易懂的Demo(以加法计算为例)。
开发环境:
JDK 1.7.0
MyEclipse 10.0
Tomcat 6.0
XFire-1.2.6
1、环境搭建
1>创建工程
在MyEclipse中新建一个名称为xfire的web工程。
2>导入jar包
导入八个必须的jar包:
commons-codec-1.3.jar
commons-httpclient-3.0.jar
commons-logging-1.0.4.jar
jdom-1.0.jar
spring-1.2.6.jar
wsdl4j-1.6.1.jar
xbean-spring-2.8.jar
xfire-all-1.2.6.jar
也可以直接将%xfire%/lib目录下的所有jar包及%xfire%/xfire-all-1.2.6.jar全部导入
2、Web Service实现
1>web.xml配置
一般情况下可以使用HTTP作为Web Service的传输协议,所以需要启动一个Web服务器。这样客户端就可以通过HTTP访问到Web Service服务。XFire提供现成的Servlet来处理请求,这样我们可以在web.xml中配置该Servlet。
xml相应配置如下:
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</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>创建服务(接口及实现类)
接口代码如下:
package org.bin.demo.service;
/**
* @author binbin(cn.binbin@qq.com)
* @date 2013-4-19
*/
public interface CalculatorService
{
/**
* 求和,即加法计算
* @param a 加数
* @param b 被加数
* @return 和
*/
public int add(int a, int b);
}
实现类代码如下:
package org.bin.demo.service.impl;
import org.bin.demo.service.CalculatorService;
/**
*
* @author binbin(cn.binbin@qq.com)
* @date 2013-04-19
*/
public class CalculatorServiceImpl implements CalculatorService
{
public int add(int a, int b)
{
return a + b;
}
}
3>配置服务
服务的配置由services.xml文件完成,它存放在META-INF/xfire目录下,而这整个目录存放在WEB-INF/classes目录下。所以我们将此配置文件所在的META-INF目录存放在src目录中。
services.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>Calculator</name>
<serviceClass>org.bin.demo.service.CalculatorService</serviceClass>
<implementationClass>org.bin.demo.service.impl.CalculatorServiceImpl</implementationClass>
</service>
</beans>
至此,Web Service服务器端的开发已经全部完成。部署我们的xfire项目到tomcat服务器,然后启动Tomcat服务器即可。
3、测试
为了了解Web Service是否正在工作,我们需要进行测试。
1>测试WSDL
打开浏览器,在地址栏输入如下地址:
http://localhost:8080/xfire/services/Calculator?wsdl
访问该地址,如果看到一个根元素是<wsdl:definitions>的XML文档说明该Web Service工作正常。
2>使用该Web Service
为进一步确认该Web Service是否工作正常,可以开发一个客户端访问该Web Service。具体操作不在本文讨论范围,此处省略。
附xfire项目目录结构:
附:上述教程中的示例项目,点击下载(http://download.csdn.net/detail/binbinxyz/5350239)