随着SOA的广泛普及,很多人开始学习一些基于soap的webService技术,xfire正是其中非常优秀的代表。虽然xfire已经停止更新,并被并入cxf项目中,但是它的简单易用,能够使开发速度和学习成本大大降低,并且可以和Spring完美结合。所以就目前来说xfire仍然是小型WebService项目的一个非常好的选择。
下面我们就针对xfire在eclipse中的使用来进行讲解,希望能够起到抛砖引玉的作用。
此外,本文章借鉴了很多大侠的博文,并增加了一些我在使用过程中碰到的问题,所以属于共同智慧的结果,希望大家积极参与共享知识的工作中。
WebService:
1、建立一个 “Web Project”,名称为Server,其他都用默认,“finish“即可。
2、
将
xfire-distribution-1.2.6.zip
解压缩后,把
xfire-all-1.2.6.jar
和
lib
目录下的所有
jar
包都拷贝到项目的
WebContent/WEB-INF/lib
目录下。
3、编写一个用于发布的类文件HelloService.java
package
demo;
public class HelloService {
public String sayHello(String name) {
return name + " ,你好! " ;
}
}
public class HelloService {
public String sayHello(String name) {
return name + " ,你好! " ;
}
}
4、配置XML文件,这也是非常重要的、容易出错的地方。
先说
services.xml
,它是对所有要发布的服务的描述文件,
xfire
就是依据这些信息来发布你的服务。这里针对我们刚才那个类建立
services.xml
。内容如下:
<?
xml version="1.0" encoding="UTF-8"
?>
< beans xmlns ="http://xfire.codehaus.org/config/1.0" >
< service >
< name > HelloService </ name >
< serviceClass > demo.HelloService </ serviceClass >
</ service >
</ beans >
< beans xmlns ="http://xfire.codehaus.org/config/1.0" >
< service >
< name > HelloService </ name >
< serviceClass > demo.HelloService </ serviceClass >
</ service >
</ beans >
service 标签的子标签不止这两个,但其余的都是可选的。关于 services 的更多描述,请参阅 xfire 的官方网站。文件建好了,就是把它放到项目的哪个位置的问题了,这里我在项目的 WebContent/ META-INF 目录下面新建一个 xfire 文件夹,把 services.xml 文件放到这个新建文件夹里。最后再把 META-INF 文件夹整个移到 WebContent/ WEB-INF 目录下,这时 services.xml 文件的配置全部完成,如果我说的还不清楚,请直接看图一,图中左侧有文件结构,只要照那个结构调整项目中的文件及文件夹的位置就可以了。