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>?
这里需要注意一个问题:因用到spring2.0包,需将xmlns放入service节点里面,而不是放beans目录,放beans是spring1.2.6版本的
6:配置完成,放入tomcat中,启动.使用http://localhost:8080/XfireTest/services/HttpServices?wsdl访问,出现wsdl的结构即配置成功,
7:源码放在附件中