1、首先,在http://xfire.codehaus.org/Download 中下载xfire-distribution-1.2.6.zip。
2、打开eclipse,新建一个dynamic web project,名为xfire。建立如所示的相关java文件:
MathService.java
package com.docwar.ws; import com.docwar.ws.req.AddParam; import com.docwar.ws.rsp.Response; public interface MathService { public Response Add(AddParam param); }
MathServiceImpl.java
package com.docwar.ws; import com.docwar.ws.req.AddParam; import com.docwar.ws.rsp.Response; public class MathServiceImpl implements MathService{ @Override public Response Add(AddParam param) { Response res = new Response(); res.setMessage("http://www.docwar.com"); res.setResult(param.getA()+param.getB()); return res; } }
AddParam.java
package com.docwar.ws.req; import javax.xml.bind.annotation.XmlElement; public class AddParam { private Integer a; private Integer b; public Integer getA() { return a; } public void setA(Integer a) { this.a = a; } public Integer getB() { return b; } public void setB(Integer b) { this.b = b; } }
Response.java
package com.docwar.ws.rsp; public class Response { private Integer result; private String message; public Integer getResult() { return result; } public void setResult(Integer result) { this.result = result; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
3、将之前下载好的xfire-distribution-1.2.6.zip 解压,将其中的lib的中的ar包全部复制到WebContent中的WEB-INF中的lib中。
4、接下来需要从创建一个描述你部署的服务的services.xml文件。这个文件的路径是META-INF/xfire/services.xml。如果系统无法找到这个文件的话,可以用这个路径:WEB-INF/classes/META-INF/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.docwar.ws/MathService</namespace> <serviceClass>com.docwar.ws.MathService</serviceClass> <implementationClass>com.docwar.ws.MathServiceImpl</implementationClass> </service> </beans>
5、配置web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>xfire</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <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> </web-app>
6、启动服务器,即启动tomcat,即可以成功发布服务。访问如下地址:
http://localhost:8080/xfire/services/
可以看到如下所示:
Available Services:
* MathService [wsdl]
Generated by XFire ( http://xfire.codehaus.org )
点击其中的[wsdl],即
http://localhost:8080/xfire/services/MathService?wsdl可以看到该服务的wsdl。