<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2EE之巔

     

    Spring集成XFire開發WebService

     

    Spring是目前最流行的JavaEE Framework,但是使用SpringSpring-WS開發WebService卻十分繁瑣。XFire是一個簡化WebService開發的開源項目,通過SpringXFire的結合可以大大簡化基于Spring Framework的應用中的WebService開發。

    SpringXFire可以通過多種方式結合,下文介紹的是筆者常用的一種簡單而實用的方法。所用的Spring版本為2.0,XFire版本為1.2.6

    1 配置XFire Servlet

    web.xml中加入如下配置:

    <servlet>

        <servlet-name>XFireServlet</servlet-name>

      

        <servlet-class>

            org.codehaus.xfire.spring.XFireSpringServlet

        </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>

    2 配置Spring的監聽器,同基于springWeb項目一樣Spring的監聽器是必不可少的。

        <context-param>

            <param-name>contextConfigLocation</param-name>

           <param-value>

                classpath:org/codehaus/xfire/spring/xfire.xml,

                /WEB-INF/applicationContext.xml

           </param-value>

        </context-param>

    <listener>

     <listener-class>

        org.springframework.web.context.ContextLoaderListener

     </listener-class>

    </listener>  

    以下是完整的web.xml配置文件

    <?xml version="1.0" encoding="UTF-8"?>

    <web-app version="2.4"

        xmlns="http://java.sun.com/xml/ns/j2ee"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">   

        <context-param>

            <param-name>contextConfigLocation</param-name>

           <param-value>

                classpath:org/codehaus/xfire/spring/xfire.xml,

                /WEB-INF/applicationContext.xml

           </param-value>

        </context-param>

    <listener>

     <listener-class>

        org.springframework.web.context.ContextLoaderListener

     </listener-class>

    </listener>  

     <servlet>

        <servlet-name>XFireServlet</servlet-name>

      

        <servlet-class>

            org.codehaus.xfire.spring.XFireSpringServlet

        </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>

    </web-app>

    3 定義接口及實現服務

    定義接口,這個接口中定義要通過WebService暴露的方法

    package org.ccsoft;

    publicinterface HelloWS {

        public String sayHello(String sb);

    }

    實現服務

    package org.ccsoft;

    publicclass HelloWSImp implements HelloWS {

        public String sayHello(String sb) {

           // TODO Auto-generated method stub

           return"Hello "+sb;

        }

    }

    4 配置服務

    將上文中實現的服務,加入到spring的配置文件中。

    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"

           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

           xsi:schemaLocation="

    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

        <bean id="helloWS" class="org.ccsoft.HelloWSImp"/>

        <bean name="helloService" class="org.codehaus.xfire.spring.ServiceBean">

        <property name="serviceBean" ref="helloWS"/>

        <property name="serviceClass" value="org.ccsoft.HelloWS"/>

        <property name="inHandlers">

          <list>

            <ref bean="addressingHandler"/>

          </list>

        </property>

    </bean>

           <bean id="addressingHandler" class="org.codehaus.xfire.addressing.AddressingInHandler"/>

    </beans>

    好了現在你可以通過http://127.0.0.1:8080/XFireWS1/services/HelloWS?wsdl來驗證是否部署成功了。

    —————————————————————————————————————


    SCEA SCBCD MCSD
    IBM Certified Specialist RUP
    IBM Certified Solution Designer OOA&D UML v2
    北京天融信軟件架構師
    SUN,Microsoft培訓中心特邀高端教師
    常年提供架構咨詢服務
    chaocai2001@yahoo.com.cn 010-82776427

    posted on 2007-09-17 18:01 超越巔峰 閱讀(9693) 評論(5)  編輯  收藏 所屬分類: Java EE

    評論

    # re: Spring集成XFire開發WebService 2007-09-17 18:20 千里冰封

    配XML終究不爽,還是EJB3.0里面的元數據注釋好一些  回復  更多評論   

    # re: Spring集成XFire開發WebService 2007-09-17 18:29 sitinspring

    代碼亂了一些,怎么不試試"插入代碼"按鈕呢?  回復  更多評論   

    # re: Spring集成XFire開發WebService[未登錄] 2007-09-17 21:31 bluesky

    用spring 的ws啊  回復  更多評論   

    # re: Spring集成XFire開發WebService 2007-09-18 08:59 阿蜜果

    呵呵,前陣子也寫了篇類似的文章,不過還沒放上blog。
    :)  回復  更多評論   

    # re: Spring集成XFire開發WebService 2012-03-06 15:44 斷線的風箏

    都啟動不了,報錯org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'addressingHandler' defined  回復  更多評論   

    導航

    統計

    常用鏈接

    留言簿(12)

    隨筆分類(54)

    隨筆檔案(59)

    文章分類(2)

    文章檔案(1)

    相冊

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久久久亚洲精品无码网址 | 亚洲av无码专区在线电影| 美女被免费网站在线视频免费| 亚洲中字慕日产2020| 美女视频黄a视频全免费网站色 | 午夜视频免费在线观看| 四虎影视在线永久免费看黄| 亚洲视频在线观看网站| 久久精品国产亚洲av品善| 30岁的女人韩剧免费观看| 亚洲精品无码MV在线观看| 国产成人亚洲精品91专区高清| 亚洲AV成人无码网站| 88xx成人永久免费观看| 中文亚洲AV片不卡在线观看| 亚洲av成人一区二区三区在线播放| 亚洲av中文无码乱人伦在线观看| 久久综合亚洲色hezyo| 在线观看免费人成视频色| 亚洲av无码国产精品夜色午夜| 亚洲一级毛片免费观看| 4399影视免费观看高清直播| 久久精品亚洲中文字幕无码网站 | 亚洲AV日韩AV一区二区三曲| 国产大片线上免费观看| 亚洲一区二区三区国产精品无码| 日本一区二区三区在线视频观看免费| 国产拍拍拍无码视频免费| 亚洲宅男天堂在线观看无病毒| 亚洲国产精品久久网午夜| 99精品视频在线免费观看| 亚洲码国产精品高潮在线| 国产成人免费ā片在线观看老同学| 国产成人A在线观看视频免费| 久久精品夜色噜噜亚洲A∨| 日韩在线视频免费| 久久久精品国产亚洲成人满18免费网站| 亚洲伊人久久大香线蕉影院| 成人无码区免费A片视频WWW| 亚洲成a人片在线观看精品| 永久黄网站色视频免费观看 |