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

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

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

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

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

    web.xml
    首先想讓我們看一下web.xml.我們需要加上如下語(yǔ)句:
    ????<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服務(wù)都包含什么.這個(gè)工作在services.xml中完成.這個(gè)文件位于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>

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

    XFire和其他庫(kù)
    現(xiàn)在,我們做最后一步工作--獲得所有必要的庫(kù)文件.我們?cè)趺传@得他們呢? 訪問(wèn)XFire官方網(wǎng)站
    http://xfire.codehaus.org/?下載xfire-distribution-1.0.zip并解壓到本地文件夾中.將下列文件拷貝到WEB-INF\lib:
  • activation-1.0.2.jar
  • commons-codec-1.3.jar
  • commons-httpclient-3.0.jar
  • commons-logging-1.0.4.jar
  • jaxen-1.1-beta-8.jar
  • jdom-1.0.jar
  • log4j-1.2.x.jar
  • mail-1.3.3_01.jar
  • spring-1.2.x.jar
  • stax-api-1.0.jar
  • wsdl4j-1.5.2.jar
  • wstx-asl-2.9.jar
  • xbean-2.1.0.jar
  • xbean-spring-2.2.jar
  • xfire-all-1.0.jar
  • XmlSchema-1.0.jar

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

    我們?cè)趺粗繵eb服務(wù)有效?
    我們來(lái)做一些測(cè)試,看看Web服務(wù)是否有效.
    首先,我們先來(lái)看看WSDL是否有效。在瀏覽器中輸入U(xiǎn)RL。哪個(gè)URL?因?yàn)槲覀兊膚ar文件名叫websvc.war,services.xml 中給出的servicenames是Banking, 那么WSDL URL為
    http://localhost:8080/websvc/services/Banking?wsdl
    請(qǐng)注意:URL的前一部分,例如:
    http://localhost:8080會(huì)根據(jù)你安裝的應(yīng)用服務(wù)不同而不同。如果你輸入了URL,你將會(huì)看到以<wsdl:definitions>為根結(jié)點(diǎn)的xml文件。這個(gè)文件叫做web服務(wù)的WSDL.如果你看到了這個(gè)文件,那么初步驗(yàn)證你的Web服務(wù)有效。
    但是這個(gè)驗(yàn)證還不夠。有時(shí)候情況會(huì)復(fù)雜一些,你可以看到WSDL,但是客戶端卻無(wú)法訪問(wèn)Web服務(wù)。因此要真正檢驗(yàn)Web服務(wù)是否真的好使,就要用客戶端程序?qū)eb服務(wù)作一次真正的調(diào)用。
    后面我將介紹如何開(kāi)發(fā)客戶端-->
    XFire:開(kāi)發(fā)Web服務(wù)的簡(jiǎn)易之道(三)--開(kāi)發(fā)客戶端程序

  • posted on 2006-05-15 16:39 學(xué)二的貓 閱讀(3640) 評(píng)論(1)  編輯  收藏 所屬分類: Java禪機(jī)

    評(píng)論:
    # re: XFire:開(kāi)發(fā)Web服務(wù)的簡(jiǎn)易之道(二)--Web應(yīng)用的部署描述 2006-05-16 10:18 | Harryson
    有點(diǎn)感覺(jué)了,  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 国色精品卡一卡2卡3卡4卡免费| 免费看片A级毛片免费看| 亚洲人成网站日本片| 日韩免费视频播播| a毛片免费在线观看| 亚洲一卡2卡三卡4卡无卡下载| 国产免费卡一卡三卡乱码| 久久免费视频99| 在线观看亚洲免费视频| 久久亚洲春色中文字幕久久久 | 午夜无码A级毛片免费视频| 亚洲中文字幕乱码AV波多JI | 亚洲Av无码一区二区二三区| 国产成人一区二区三区免费视频 | 国产免费卡一卡三卡乱码| 午夜免费福利视频| 国产精品亚洲专区无码不卡| 亚洲美女精品视频| 国产亚洲精品拍拍拍拍拍| 精品国产免费一区二区| 三年片在线观看免费观看大全一| 亚洲av乱码一区二区三区按摩| 亚洲av永久无码精品古装片| 国产一区二区三区免费看| 91精品国产免费久久国语蜜臀| 黄床大片30分钟免费看| 中文字幕在线观看亚洲日韩| 亚洲AV永久无码精品水牛影视| 亚洲Av无码乱码在线znlu| 97免费人妻无码视频| 国内永久免费crm系统z在线| 国产亚洲精彩视频| 国产成人精品日本亚洲专区6| 亚洲av丰满熟妇在线播放| 亚洲精品国产精品乱码不卡| 在线观看免费成人| 久久久久久精品免费免费自慰| 中文字幕在线免费看线人| 特级毛片爽www免费版| 亚洲AV成人精品日韩一区| 亚洲av极品无码专区在线观看|