首先是XFire:
下载XFire库:
distribution和XFire-all,distribution是一些依赖包,例子及文档,XFire-all是XFire的核心包.
然后是根据文档中的Quick Start来实现一个Web Service,Quick Start中举的例子在distibution目录下的example/book下.根据Quick Start来实现一个Web Service的过程是非常简单的,文档上这么讲而且事实也是非常简单的,如果在Eclipse中也就是包括以下几个步骤:
- 设置目录结构,设置类路径.
- 编写一个要作为Web Service发布的java类.
- 创建XFire配置.
- 修改web.xml,为XFire配置Servlet.
- 因为Lomboz会自动部署,那么剩下的就是测试Web Service部署是否成功了.
?
下面就开始在Eclipse中开始以上列出的步骤:
JDK:JSDK 1.4
IDE:Eclipse3.1.2
Plugins:lomboz-wtp-emf-gef-jem(其中已经包含有wtp-sdk-R-1.0.1-200602171228?, ?emf-sdo-xsd-SDK-2.1.2, GEF-SDK-3.1.1?,? JEM-SDK-1.1.0.1)
Container:Tomcat5.0
1.新建一个dynamic? Web Project 名称为testXFire,添加XFire库(包括XFire-distibution中lib中所有的.jar文件和xfire-all-1.0.jar)到工程中,做完上述工作后整个工程结构如下图:
2.编写一个需要作为Web Service发布的java类:
java 代码
- package?com.bws.XFireDemo; ??
- /** ?
- ?*?@author?xiaochen.wang?E-mail:xiaochen.wang@transcom.net.cn ?
- ?*?@version?创建时间:2007-10-22?下午02:16:29 ?
- ?*?类说明 ?
- ?*/??
- public?class?BookService?{ ??
- ????private?Book?onlyBook; ??
- ???? ??
- ????public?BookService() ??
- ????{ ??
- ????????onlyBook?=?new?Book(); ??
- ????????onlyBook.setAuthor("Dan?Diephouse"); ??
- ????????onlyBook.setTitle("Using?XFire"); ??
- ????????onlyBook.setIsbn("0123456789"); ??
- ????} ??
- ??
- ????public?Book[]?getBooks() ??
- ????{ ??
- ????????return?new?Book[]?{?onlyBook?}; ??
- ????} ??
- ???? ??
- ????public?Book?findBook(String?isbn) ??
- ????{ ??
- ????????if?(isbn.equals(onlyBook.getIsbn())) ??
- ????????????return?onlyBook; ??
- ???????? ??
- ????????return?null; ??
- ????}? ??
- ??
- }??
java 代码
- package?com.bws.XFireDemo; ??
- /** ?
- ?*?@author?xiaochen.wang?E-mail:xiaochen.wang@transcom.net.cn ?
- ?*?@version?创建时间:2007-10-22?下午02:16:56 ?
- ?*?类说明 ?
- ?*/??
- public?class?Book?{ ??
- ????private?String?title; ??
- ????private?String?isbn; ??
- ????private?String?author; ??
- ????public?String?getIsbn() ??
- ????{ ??
- ????????return?isbn; ??
- ????} ??
- ??
- ????public?void?setIsbn(String?isbn) ??
- ????{ ??
- ????????this.isbn?=?isbn; ??
- ????} ??
- ??
- ????public?String?getTitle() ??
- ????{ ??
- ????????return?title; ??
- ????} ??
- ??
- ????public?void?setTitle(String?title) ??
- ????{ ??
- ????????this.title?=?title; ??
- ????} ??
- ? ??
- ????public?String?getAuthor() ??
- ????{ ??
- ????????return?author; ??
- ????} ??
- ??
- ????public?void?setAuthor(String?author) ??
- ????{ ??
- ????????this.author?=?author; ??
- ????} ??
- ??
- ??
- } ??
3。配置 service.xml文件
xml 代码
- <beans?xmlns="http://xfire.codehaus.org/config/1.0">??
- ????<service>??
- ????????<name>BookService</name>??
- ????????<namespace>http://com.bws.XFireDemo/BookService</namespace>??
- ????????<serviceClass>com.bws.XFireDemo.BookService</serviceClass>??
- ????</service>??
- </beans>??
4。发布测试:访问:http://localhost:8080/testXFire/services/BookService?wsdl
1 楼
jnn
2007-10-22
建议LZ试用一下XFire的后续版本CXF。
http://cwiki.apache.org/CXF/
同时Eclipse中的STP项目也提供相应的GUI支持
http://www.ibm.com/developerworks/cn/edu/os-dw-os-eclipse-soatp.html
http://www.eclipse.org/stp/
http://cwiki.apache.org/CXF/
同时Eclipse中的STP项目也提供相应的GUI支持
http://www.ibm.com/developerworks/cn/edu/os-dw-os-eclipse-soatp.html
http://www.eclipse.org/stp/