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

    相冊

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲尹人九九大色香蕉网站| 国产在线精品一区免费香蕉| 亚洲欧洲免费无码| 久久狠狠高潮亚洲精品| 最近免费中文字幕MV在线视频3| 亚洲一级特黄无码片| 朝桐光亚洲专区在线中文字幕| 成在人线AV无码免费| 亚洲AV无码乱码在线观看代蜜桃 | 亚洲日韩国产一区二区三区在线| 亚洲成人免费电影| 亚洲色四在线视频观看| 久久免费线看线看| 亚洲人成无码网站| 99精品免费视频| 亚洲综合图色40p| 国产精品1024在线永久免费 | 国产一区二区三区在线免费| 亚洲精品V天堂中文字幕| 嫩草影院免费观看| 亚洲人成自拍网站在线观看| 扒开双腿猛进入爽爽免费视频| 精品久久亚洲中文无码| 和日本免费不卡在线v| 精品亚洲成在人线AV无码| 免费在线观看h片| 亚洲av永久无码嘿嘿嘿| 99久久免费国产精品特黄| 亚洲男人天堂2018av| 成熟女人牲交片免费观看视频| 亚洲一区精彩视频| 成人片黄网站色大片免费| 亚洲国产精品无码第一区二区三区| 日韩视频免费一区二区三区| 亚洲第一se情网站| 亚洲高清成人一区二区三区| 国产精品免费视频观看拍拍| 亚洲av中文无码乱人伦在线r▽| 香蕉成人免费看片视频app下载| 色拍自拍亚洲综合图区| 91频在线观看免费大全|