1:新建一个xfire web 工程(XFireTest)
2:在工程目录webroot/web-inf/web.xml配置如下信息
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.5"
- xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
- <servlet>
- <display-name>XFire Servlet</display-name>
- <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>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- </web-app>
3:引入xfire lib包
从官方网下载xfire-distribution-1.2.6.zip ,解压引入lib下和modules下所有包,运行过程中运到一个问题XFireConfigurableServlet出错,是spring1.2.6.jar包的问题,需引入spring2.0.jar包.
4:新建一个类,和接口
- package com.tw.test;
- public interface HttpServices {
- public String hello(String name);
- }
- package com.tw.test;
- public class HttpServicesImpl implements HttpServices {
- public String hello(String name) {
- if(null == name){
- return "tw_"+name;
- }else{
- return "hello"+name;
- }
- }
- }
5:在src目录下创建META-INF/xfire/services.xml 目录及文件,配置如下
- <?xml version="1.0" encoding="UTF-8"?>
- <beans>
- <service xmlns="http://xfire.codehaus.org/config/1.0">
- <name>HttpServices</name>
- <namespace>http://localhost:8080/HttpServices</namespace>
- <serviceClass>com.tw.test.HttpServices</serviceClass>
- <implementationClass>com.tw.test.HttpServicesImpl</implementationClass>
- </service>
- </beans>