<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| 四虎影视精品永久免费| 亚洲日产无码中文字幕| 日日狠狠久久偷偷色综合免费| 大学生高清一级毛片免费| 亚洲中文字幕乱码一区| 四色在线精品免费观看| 国产精品亚洲综合网站| www.亚洲色图.com| 黄色视屏在线免费播放| 亚洲男人在线无码视频| 三级毛片在线免费观看| 久久精品a亚洲国产v高清不卡| 91短视频免费在线观看| 亚洲色图激情文学| 好爽好紧好大的免费视频国产| 深夜a级毛片免费无码| 亚洲精品无码乱码成人| 一级毛片免费观看| 亚洲不卡在线观看| 免费人成视频x8x8入口| 99久久国产精品免费一区二区| 亚洲视频小说图片| 永久免费视频v片www| a一级毛片免费高清在线| 久久99亚洲网美利坚合众国| 免费涩涩在线视频网| sihu国产精品永久免费| 亚洲精品在线电影| 国产福利免费在线观看| 成人A片产无码免费视频在线观看 成人电影在线免费观看 | 亚洲gv白嫩小受在线观看| 67194成手机免费观看| 亚洲AV无码国产精品永久一区| 国产日产亚洲系列| 19禁啪啪无遮挡免费网站| MM1313亚洲国产精品| 国产精品久久久亚洲| 免费看香港一级毛片| 男人j进入女人j内部免费网站| 亚洲av永久无码一区二区三区|