终于写了一个关于XFire的入门级demo。下面写一下开发过程。
- 采用的工具:MyEclipse3.2 + Tomcat5.0.24 + XFire2.6。使用XFire开发WebService应该说非常的容易,只需要按照下面例子的步骤来做:
- 导入XFire用户库。该库中应包含xfire-1.1目录下的xfire-all-1.1.jar文件,以及 xfire-1.1/lib目录下的所有文件。
- 在Eclipse中新建一个 Web Service Project ,假设名为XFireQiaoJunTest,关键在于第三步,你要选择你自己刚刚导入的XFire用户库。
WebRoot/WEB-INF/web.xml配置文件的内容:(不用修改,MyEclipse会帮你自动生成)
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns=" http://java.sun.com/xml/ns/j2ee" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation=" http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app> |
- 编写需要发布为WebService的Java类,这个例子中是一个非常简单的MathService.java。
package com.Qiaojunsky.xfireDemo; public class MathService { public int Add( int a , int b) { return a + b ; } } |
- XFire使用的配置文件services.xml的内容:(需要修改)
<? xml version = " 1.0 " encoding = " UTF-8 " ?> < beans xmlns = " http://xfire.codehaus.org/config/1.0 " > < service > < name > MathService </ name > < namespace > http: // com.QiaojunSky.xfireDemo/MathService</namespace> < serviceClass > com.Qiaojun sky.xfireDemo.MathService </ serviceClass > </ service > </ beans > |
XFire会借助Spring来解析services.xml,从中提取需要发布为WebService的配置信息。
- 在Package Explorer中选中XFireQiaoJunTest项目,右键->Run As ->Run On Server,关联到你机器上的TomCat,然后会启动Tomcat,以启动web服务。(注意,在进行此步骤之前,请先停止TomCat)
- 在IE中输入 http://localhost:8080/XFireQiaoJunTest/services/MathService?wsdl 会得到正确的web服务描述文档。