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。