工作环境: Eclipse3.3+tomcat6+xFire1.2.6
XFire 官方网站 http://xfire.codehaus.org
可以从该网站下载xfire-distribution-1.2.6.zip文件,里面包含了xFire的文档、类包及相关文档说明。
附件下载提供本文的实例源码(不包含lib库):webservices_xfire_demo(not-lib)
本文主要记录了在Eclipse中如何一步一步的创建xFire webservices的详细步骤:
一、Eclipse中创建项目
New project->Dynamic Web Project
二、在src目录下创建main文件夹,同时修改project的src配置
把.classpath中的: <classpathentry kind=”src” path=”src”/>改为:
<classpathentry kind=”src” path=”src/main”/>
三、在src/main 下创建package:com.michael.xfiredemo,同时创建类:WelcomeXfire.java
1 |
package com.michael.xfiredemo; |
2 |
3 |
/** |
4 |
* @author Michael sun |
5 |
*/ |
6 |
public class WelcomeXfire { |
7 |
/** |
8 |
* @param name |
9 |
* @return String |
10 |
*/ |
11 |
public String sayHello(String name) { |
12 |
return name + ",你好!欢迎来到xFire世界。" ; |
13 |
} |
14 |
15 |
} |
四、在src/main 创建文件夹 META-INF/xfire,在该文件夹下创建文件services.xml:
ps:这一步非常重要,这样发布时会把META-INF/xfire/services.xml编译到WEB-INF\classes\META-INF\xfire\services.xml
1 |
<? xml version = "1.0" encoding = "UTF-8" ?> |
2 |
< beans xmlns = "http://xfire.codehaus.org/config/1.0" > |
3 |
< service > |
4 |
< name >welcomeServices</ name > |
5 |
< namespace > |
6 |
8 |
9 |
</ namespace > |
10 |
< serviceClass >com.michael.xfiredemo.WelcomeXfire</ serviceClass > |
11 |
</ service > |
12 |
</ beans > |
下面给出本人项目结构图如下:
五、加载需要的lib包
把xfire-distribution-1.2.6.zip解压后lib文件下的类包(去掉servlet-api-2.3.jar和servlet-api-2.5-6.1.2rc0.jar 因为tomcat已经有servlet包)copy到webapp\WEB-INF\lib,同时把xfire-all-1.2.6.jar 也copy到webapp\WEB-INF\lib下
六、修改web.xml文件如下:
1 |
<? xml version = "1.0" encoding = "UTF-8" ?> |
2 |
< web-app xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" |
3 |
xmlns = "http://java.sun.com/xml/ns/javaee" |
4 |
xmlns:web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" |
5 |
xsi:schemaLocation = "http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" |
6 |
id = "WebApp_ID" version = "2.5" > |
7 |
< display-name >webservices_xfire_demo</ display-name > |
8 |
< welcome-file-list > |
9 |
< welcome-file >index.html</ welcome-file > |
10 |
< welcome-file >index.htm</ welcome-file > |
11 |
< welcome-file >index.jsp</ welcome-file > |
12 |
< welcome-file >default.html</ welcome-file > |
13 |
< welcome-file >default.htm</ welcome-file > |
14 |
< welcome-file >default.jsp</ welcome-file > |
15 |
</ welcome-file-list > |
16 |
17 |
< servlet > |
18 |
< servlet-name >XFireServlet</ servlet-name > |
19 |
20 |
< servlet-class > |
21 |
org.codehaus.xfire.transport.http.XFireConfigurableServlet |
22 |
</ servlet-class > |
23 |
</ servlet > |
24 |
25 |
< servlet-mapping > |
26 |
< servlet-name >XFireServlet</ servlet-name > |
27 |
< url-pattern >/servlet/XFireServlet/*</ url-pattern > |
28 |
</ servlet-mapping > |
29 |
30 |
< servlet-mapping > |
31 |
< servlet-name >XFireServlet</ servlet-name > |
32 |
< url-pattern >/services/*</ url-pattern > |
33 |
</ servlet-mapping > |
34 |
35 |
</ web-app > |
七、项目右击 Run As->Run on Server,在浏览器里输入:http://localhost:8082/webservices_xfire_demo/services 看到如下:
即发布成功。