首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

XFire 最新兴火指南(上)

2012-06-28 
XFire 最新生火指南(上)基于发布在JavaEye的敬畏心情,本文又修改了一遍,与前两天发在blogjava和csdn的版本

XFire 最新生火指南(上)

基于发布在JavaEye的敬畏心情,本文又修改了一遍,与前两天发在blogjava和csdn的版本稍有不同。

1. 概述

???XFireXFire 最新兴火指南(上)?是全球众多牛人在与axis系列对比后一致投票的选择。我比较欣赏的特性有:

  1. ,无须生成一堆文件,无须打包独立war,直接将应用中的Pojo导出为Web服务。
  2. --超简约的默认Java XML 绑定机制,且可以Plugin其他绑定机制。
  3. 的POJO WebService配置。
  4. 脱离Web服务器的单元测试能力。

?? 网上的文档与例子总是不新,请大家抛开所有的文档,所有的Axis习惯,单看这份代表XFire1.2.2最简约做法的指南。

2. 生火指南

2.1 修改web.xml,在Web应用中增加XFire的入口

?? 注意XFire有了自己的Servlet,不再依赖Spring MVC的DispatchServlet,也就远离了大家不熟悉的Spring MVC URL Mapping,与Spring达致完美的整合。

?? 这里指定了路径为/service/* ,即WebService的URL会被默认生成为,其中ServiceName默认为下文中的接口名。

  • <servlet>??
  • ?????<servlet-name>xfireservlet-name>??
  • ?????<servlet-class>org.codehaus.xfire.spring.XFireSpringServletservlet-class>??
  • ?servlet>??
  • ?<servlet-mapping>??
  • ?????<servlet-name>xfireservlet-name>??
  • ?????<url-pattern>/service/*url-pattern>??
  • ????servlet-mapping>?????
    <mapping>??
  • ??????????
  • ????????<method?name="findBooksByName">??
  • ????????????<return-type?componentType="org.springside.bookstore.domain.Book"/>??
  • ????????method>??
  • ?????????
  • ???????<property?name="products"?ignore="true"/>??
  • mapping>??</property>

    ?? 其他语法详见AegisXFire 最新兴火指南(上)?参考。

    2.4 配置Spring导出

    ????为了节约配置代码,先配置一个基类。注意导出Web服务的Bean不能lazy-init:

  • ??
  • <import?resource="classpath:org/codehaus/xfire/spring/xfire.xml"/>??
  • ??
  • <bean?id="baseWebService"?class="org.codehaus.xfire.spring.remoting.XFireExporter"?lazy-init="false"?abstract="true">??
  • ??<property?name="serviceFactory"?ref="xfire.serviceFactory"/>??
  • ??<property?name="xfire"?ref="xfire"/>??
  • ?bean>???</property></property>
  • ?每个Web服务的定义:parent为前面定义的基类,serviceClass 为Web Service的接口,serviceBean为Web Service的接口实现类。

    <property name="&amp;lt;span"> <property name="&amp;lt;span">
  • <bean?id="bookService"?parent="baseWebService">??
  • ??<property?name="serviceBean"?ref="bookManager"/>??
  • ??<property?name="serviceClass"?value="org.springside.bookstore.components.xfire.server.simple.BookService"/>??
  • ?bean>??

    ?


    Web服务导出完毕,用户可在http://localhost/service/BookService?WSDLXFire 最新兴火指南(上)查看自动生成的WSDL。?

    上半章完,关于JSR181,Client API与测试部分请看XFire 生火指南(下)

    </property> </property>

  • 热点排行