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

    相冊

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 99爱视频99爱在线观看免费| 亚洲国产精品自在在线观看| 四虎精品视频在线永久免费观看 | 今天免费中文字幕视频| 色偷偷亚洲第一综合| 亚洲AV无码乱码在线观看代蜜桃 | 国内精品免费久久影院| 阿v视频免费在线观看| 亚洲精品第一国产综合亚AV| 亚洲精品国产免费| 亚洲成人动漫在线| 中文字幕亚洲乱码熟女一区二区 | 亚洲最大无码中文字幕| 亚洲大香伊人蕉在人依线| 久久久久无码精品亚洲日韩| 国产亚洲?V无码?V男人的天堂 | 未满十八私人高清免费影院| 亚洲av无码一区二区三区四区| 91亚洲性爱在线视频| 亚洲色图在线播放| 亚洲AV日韩AV高潮无码专区| 久久久久亚洲?V成人无码| 亚洲?v女人的天堂在线观看| 在线看片无码永久免费aⅴ| 成年女人色毛片免费看| 国语成本人片免费av无码| 国产美女在线精品免费观看| 精品久久久久国产免费| 青苹果乐园免费高清在线| 无码国产精品一区二区免费I6 | 亚洲AV永久无码天堂影院| 国产v亚洲v天堂a无| 久久精品国产亚洲αv忘忧草| 亚洲天堂电影在线观看| avtt天堂网手机版亚洲| 国内精品久久久久影院亚洲| 亚洲字幕AV一区二区三区四区| 亚洲人成色4444在线观看| 亚洲国产欧美一区二区三区| 国产精品日本亚洲777| 美女被羞羞网站免费下载|