当前位置: 代码迷 >> Web前端 >> XFire初识-应用Eclipse开发Web Service
  详细解决方案

XFire初识-应用Eclipse开发Web Service

热度:129   发布时间:2012-11-05 09:35:12.0
XFire初识-使用Eclipse开发Web Service

首先是XFire:

下载XFire库:
distribution和XFire-all,distribution是一些依赖包,例子及文档,XFire-all是XFire的核心包.

然后是根据文档中的Quick Start来实现一个Web Service,Quick Start中举的例子在distibution目录下的example/book下.根据Quick Start来实现一个Web Service的过程是非常简单的,文档上这么讲而且事实也是非常简单的,如果在Eclipse中也就是包括以下几个步骤:
  1. 设置目录结构,设置类路径.
  2. 编写一个要作为Web Service发布的java类.
  3. 创建XFire配置.
  4. 修改web.xml,为XFire配置Servlet.
  5. 因为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 代码
  1. package?com.bws.XFireDemo; ??
  2. /** ?
  3. ?*?@author?xiaochen.wang?E-mail:xiaochen.wang@transcom.net.cn ?
  4. ?*?@version?创建时间:2007-10-22?下午02:16:29 ?
  5. ?*?类说明 ?
  6. ?*/??
  7. public?class?BookService?{ ??
  8. ????private?Book?onlyBook; ??
  9. ???? ??
  10. ????public?BookService() ??
  11. ????{ ??
  12. ????????onlyBook?=?new?Book(); ??
  13. ????????onlyBook.setAuthor("Dan?Diephouse"); ??
  14. ????????onlyBook.setTitle("Using?XFire"); ??
  15. ????????onlyBook.setIsbn("0123456789"); ??
  16. ????} ??
  17. ??
  18. ????public?Book[]?getBooks() ??
  19. ????{ ??
  20. ????????return?new?Book[]?{?onlyBook?}; ??
  21. ????} ??
  22. ???? ??
  23. ????public?Book?findBook(String?isbn) ??
  24. ????{ ??
  25. ????????if?(isbn.equals(onlyBook.getIsbn())) ??
  26. ????????????return?onlyBook; ??
  27. ???????? ??
  28. ????????return?null; ??
  29. ????}? ??
  30. ??
  31. }??
java 代码
  1. package?com.bws.XFireDemo; ??
  2. /** ?
  3. ?*?@author?xiaochen.wang?E-mail:xiaochen.wang@transcom.net.cn ?
  4. ?*?@version?创建时间:2007-10-22?下午02:16:56 ?
  5. ?*?类说明 ?
  6. ?*/??
  7. public?class?Book?{ ??
  8. ????private?String?title; ??
  9. ????private?String?isbn; ??
  10. ????private?String?author; ??
  11. ????public?String?getIsbn() ??
  12. ????{ ??
  13. ????????return?isbn; ??
  14. ????} ??
  15. ??
  16. ????public?void?setIsbn(String?isbn) ??
  17. ????{ ??
  18. ????????this.isbn?=?isbn; ??
  19. ????} ??
  20. ??
  21. ????public?String?getTitle() ??
  22. ????{ ??
  23. ????????return?title; ??
  24. ????} ??
  25. ??
  26. ????public?void?setTitle(String?title) ??
  27. ????{ ??
  28. ????????this.title?=?title; ??
  29. ????} ??
  30. ? ??
  31. ????public?String?getAuthor() ??
  32. ????{ ??
  33. ????????return?author; ??
  34. ????} ??
  35. ??
  36. ????public?void?setAuthor(String?author) ??
  37. ????{ ??
  38. ????????this.author?=?author; ??
  39. ????} ??
  40. ??
  41. ??
  42. } ??
3。配置 service.xml文件
xml 代码
  1. <beans?xmlns="http://xfire.codehaus.org/config/1.0">??
  2. ????<service>??
  3. ????????<name>BookService</name>??
  4. ????????<namespace>http://com.bws.XFireDemo/BookService</namespace>??
  5. ????????<serviceClass>com.bws.XFireDemo.BookService</serviceClass>??
  6. ????</service>??
  7. </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/
  相关解决方案