一路拾遺
          Collect By Finding All The Way ......
          posts - 81,comments - 41,trackbacks - 0

          一 . 環(huán)境搭建

          由于 AXIS 本身是基于 JAVA 語(yǔ)言開(kāi)發(fā)的項(xiàng)目,并且是以 Web 應(yīng)用形式發(fā)布的,因此它運(yùn)行時(shí)需要一個(gè)應(yīng)用服務(wù)器作為支撐。為

          了方便我們這里選用的是 Tomcat 。由于 AXIS 本身需要用到處理 XML 信息的包,所以我們建議使用 JDK1.5 并安裝 Tomcat

          6.0。下面是環(huán)境搭建步驟,讀取根據(jù)自身情況進(jìn)行安裝。

          安裝 JDK1.5
          安裝 Tomcat 6.0到 C:\Tomcat 并驗(yàn)證安裝是否成功
          下載 AXIS 項(xiàng)目打包文件 axis.zip 解壓縮后將目錄中的 webapps 目錄下的 axis 子目錄拷貝到 C:\Tomcat\webapps 下。
          驗(yàn)證 AXIS 的安裝:重新啟動(dòng) Tomcat 服務(wù)器后打開(kāi)瀏覽器輸入網(wǎng)址 http://localhost:8080/axis 后,點(diǎn)擊鏈接 "Validate"

          來(lái)驗(yàn)證 Axis 所需的幾個(gè) JAVA 包是否齊全。 

           

          點(diǎn)擊超鏈接Validate后,AXIS會(huì)自動(dòng)檢查所需的每一個(gè)JAVA組件,這協(xié)組件分為:必需組件以及可選組件,必須保證所有必需組

          件都存在。

          二. Web Service服務(wù)端開(kāi)發(fā)


          經(jīng)過(guò)了前兩步之后我們就可以開(kāi)始Web服務(wù)之旅了!大多數(shù)人在學(xué)習(xí)一種編程語(yǔ)言的第一步都是從Hello world程序開(kāi)始的,我們

          也不例外。我們將提供這樣一個(gè)Web服務(wù),通過(guò)給它傳入姓名,服務(wù)返回:你好[姓名],歡迎來(lái)到Web服務(wù)的世界。這就是我們的

          需求。我們將馬上根據(jù)AXIS的要求完成我們的需求,你就會(huì)發(fā)現(xiàn)原來(lái)Web服務(wù)可以這么簡(jiǎn)單!

          編寫(xiě)JAVA類(lèi)Hello.java,內(nèi)容如下:

          public class Hello{
           
          public String hello(String name){
            
          if(name==null)
             name 
          = "";
            
          return "你好"+name+",歡迎來(lái)到Web服務(wù)的世界!";
          }

          }

           僅此而已,無(wú)需編譯,將該文件改名為Hello.jws并拷貝到AXIS應(yīng)用目錄C:\Tomcat\webapps\axis下。

          下面我們就可以測(cè)試該Web服務(wù)了,打開(kāi)瀏覽器并輸入剛剛創(chuàng)建的文件名對(duì)應(yīng)的URL地址http://localhost:8080/axis/Hello.jws

          瀏覽器顯示如下結(jié)果:

          There is a Web Service here    
                  Click to see the WSDL 
           

          點(diǎn)擊頁(yè)面上的鏈接查看該Web服務(wù)對(duì)應(yīng)的WSDL信息如下所示(我們將在下一小節(jié)簡(jiǎn)單介紹WSDL)

           

          <?xml version="1.0" encoding="UTF-8" ?>
          -
          <wsdl:definitions
           
          targetNamespace="http://localhost:8080/axis/Hello.jws"
           xmlns
          ="http://schemas.xmlsoap.org/wsdl/"
           xmlns
          ="http://www.w3.org/2000/xmlns/"
           xmlns:apachesoap
          ="http://xml.apache.org/xml-soap" 
           xmlns:soapenc
          ="http://schemas.xmlsoap.org/soap/encoding/"
           xmlns:impl
          ="http://localhost:8080/axis/Hello.jws" 
           xmlns:intf
          ="http://localhost:8080/axis/Hello.jws"
           xmlns:wsdlsoap
          ="http://schemas.xmlsoap.org/wsdl/soap/" 
           xmlns:xsd
          ="http://www.w3.org/2001/XMLSchema"
           xmlns:wsdl
          ="http://schemas.xmlsoap.org/wsdl/">
           - 
          <wsdl:message name="helloRequest">
           
          <wsdl:part name="name" type="xsd:string" /> 
           
          </wsdl:message>
           + 
          <wsdl:message name="helloResponse">
           - 
          <wsdl:portType name="Hello">
           - 
          <wsdl:operation name="hello" parameterOrder="name">
           
          <wsdl:input name="helloRequest" message="intf:helloRequest" /> 
           
          <wsdl:output name="helloResponse" message="intf:helloResponse" />
           
          </wsdl:operation> 
           
          </wsdl:portType>
           - 
          <wsdl:binding name="HelloSoapBinding" type="intf:Hello"> 
           
          <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
           - 
          <wsdl:operation name="hello"> 
           
          <wsdlsoap:operation soapAction="" />
           - 
          <wsdl:input name="helloRequest">
           
          <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
            namespace
          ="http://DefaultNamespace" />  
           
          </wsdl:input><wsdl:output name="helloResponse">  
           
          <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
            namespace
          ="http://localhost:8080/axis/Hello.jws" />   
           
          </wsdl:output> 
           
          </wsdl:operation> 
           
          </wsdl:binding>
           - 
          <wsdl:service name="HelloService">
           - 
          <wsdl:port name="Hello" binding="intf:HelloSoapBinding">
           
          <wsdlsoap:address location="http://localhost:8080/axis/Hello.jws" /> 
           
          </wsdl:port>  
           
          </wsdl:service> 
           
          </wsdl:definitions>

           

          到此我們已經(jīng)完成了hello的Web服務(wù)了,那我們?cè)趺锤嬖V用戶如何來(lái)使用該服務(wù)呢?我們只需要告訴用戶我們的Web服務(wù)的URL地

          址:http://localhost:8080/axis/Hello.jws?wsdl就可以了!下一節(jié)我們將介紹如何通過(guò)這個(gè)地址來(lái)訪問(wèn)對(duì)應(yīng)的Web服務(wù)。

          posted on 2008-10-11 16:30 胖胖泡泡 閱讀(209) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 金川县| 怀集县| 社旗县| 炎陵县| 宜兰市| 呼玛县| 林周县| 永新县| 寻乌县| 郴州市| 梁平县| 玉林市| 雅安市| 年辖:市辖区| 上思县| 新邵县| 峡江县| 侯马市| 高邑县| 海口市| 苍南县| 邯郸市| 庐江县| 德昌县| 大洼县| 武鸣县| 张掖市| 南安市| 县级市| 吉隆县| 高阳县| 大宁县| 新民市| 瑞安市| 长宁县| 临澧县| 邻水| 长兴县| 竹山县| 宁德市| 赣榆县|