隨筆-30  評論-123  文章-0  trackbacks-0
          摘要:XFire本身就是基于Servlet的應用,因此我們需要向文件中添加一些必要的參照.那么我們就需要配置我們創建的Web服務.我們使用名叫services.xml的文件來完成配置。

          Web應用的部署描述
          在Java中,Web應用至少使用一個名叫web.xml的部署描述來部署. XFire本身就是基于Severlet的應用,因此我們需要向文件中添加一些必要的參照.那么我們就需要配置我們創建的Web服務.我們使用名叫services.xml的文件來完成配置.

          web.xml
          首先想讓我們看一下web.xml.我們需要加上如下語句:
          ????<servlet>
          ????????<servlet-name>XFireServlet</servlet-name>
          ????????<display-name>XFire Servlet</display-name>
          ????????<servlet-class>org.codehaus.xfire.transport.http.XfireConfigurableServlet
          ???????? </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>

          services.xml
          下面我們就要描述一下我們的Web服務都包含什么.這個工作在services.xml中完成.這個文件位于META-INF/xfire目錄下,下面是基本的配置條目:

          <beans xmlns="http://xfire.codehaus.org/config/1.0">
          ??
          ??<service>
          ????<name>Banking</name>
          ????<namespace>mybank</namespace>
          ????<serviceClass>com.mybank.xfire.example.IBankingService</serviceClass>
          ????<implementationClass>com.mybank.xfire.example.BankingService</implementationClass>
          ??</service>??
          ??
          </beans>

          讓我們看看文件中的具體內容. 對Web服務的定義包含在<service>元素內.<service>元素下還有若干子元素.
          第一個子元素是<name>, 你可以提供任何有效的xml名字,這個名字會被客戶端程序和服務器上的其他組件使用.例如,當服務器起來以后,你可以在瀏覽器上使用這個名稱來查看WSDL.
          下一個子元素是<namespace>. 任何有效地xml名稱都可以, <namespace>將作為你服務器的唯一標識變量使用.
          <serviceClass>元素包含Java類名用來指明方法的簽名.在我們的這個例子中是IBankingService接口.如果你的Java類沒有實現任何接口,那就填入類名.在你的Java類或接口中也許含有不知一個方法,只需要一個入口來將他們轉換成Web服務.
          <implementationClass>元素記錄實現接口的Java類名.這是一個可選元素.如果前一個元素<serviceClass>填入的是接口,那么此處就要填入相應的實現類名.
          至此,我們的Web服務配置工作就完成了.

          XFire和其他庫
          現在,我們做最后一步工作--獲得所有必要的庫文件.我們怎么獲得他們呢? 訪問XFire官方網站
          http://xfire.codehaus.org/?下載xfire-distribution-1.0.zip并解壓到本地文件夾中.將下列文件拷貝到WEB-INF\lib:
        1. activation-1.0.2.jar
        2. commons-codec-1.3.jar
        3. commons-httpclient-3.0.jar
        4. commons-logging-1.0.4.jar
        5. jaxen-1.1-beta-8.jar
        6. jdom-1.0.jar
        7. log4j-1.2.x.jar
        8. mail-1.3.3_01.jar
        9. spring-1.2.x.jar
        10. stax-api-1.0.jar
        11. wsdl4j-1.5.2.jar
        12. wstx-asl-2.9.jar
        13. xbean-2.1.0.jar
        14. xbean-spring-2.2.jar
        15. xfire-all-1.0.jar
        16. XmlSchema-1.0.jar

          大功告成!讓我們部署并啟動應用.要部署這個例子,只需要將websvc.war復制到Apache Tomcat?環境的webapps目錄下,等待幾分鐘,應用會自動啟動. 例子的所有源代碼也包含在這個war文件中(文件太大,我將其分卷壓縮)part1? part2??part3? part4? part5.現在,我們的應用已經是一個Web服務了.?

          我們怎么知道Web服務有效?
          我們來做一些測試,看看Web服務是否有效.
          首先,我們先來看看WSDL是否有效。在瀏覽器中輸入URL。哪個URL?因為我們的war文件名叫websvc.war,services.xml 中給出的servicenames是Banking, 那么WSDL URL為
          http://localhost:8080/websvc/services/Banking?wsdl
          請注意:URL的前一部分,例如:
          http://localhost:8080會根據你安裝的應用服務不同而不同。如果你輸入了URL,你將會看到以<wsdl:definitions>為根結點的xml文件。這個文件叫做web服務的WSDL.如果你看到了這個文件,那么初步驗證你的Web服務有效。
          但是這個驗證還不夠。有時候情況會復雜一些,你可以看到WSDL,但是客戶端卻無法訪問Web服務。因此要真正檢驗Web服務是否真的好使,就要用客戶端程序對Web服務作一次真正的調用。
          后面我將介紹如何開發客戶端-->
          XFire:開發Web服務的簡易之道(三)--開發客戶端程序

        17. posted on 2006-05-15 16:39 學二的貓 閱讀(3641) 評論(1)  編輯  收藏 所屬分類: Java禪機

          評論:
          # re: XFire:開發Web服務的簡易之道(二)--Web應用的部署描述 2006-05-16 10:18 | Harryson
          有點感覺了,  回復  更多評論
            
          主站蜘蛛池模板: 延津县| 八宿县| 溧阳市| 长武县| 高唐县| 西充县| 寿光市| 永年县| 平乡县| 元阳县| 万宁市| 綦江县| 濮阳市| 长子县| 景洪市| 福鼎市| 延庆县| 云梦县| 泸水县| 北票市| 许昌县| 宝鸡市| 东丰县| 南川市| 安西县| 板桥市| 鄂托克旗| 新干县| 德格县| 富源县| 天水市| 托克托县| 洞头县| 永嘉县| 古交市| 财经| 江津市| 汝州市| 鹤岗市| 永清县| 资阳市|