Web Service實際開發


初次涉及

       通過上述的Web Service的簡介,其實還是有點難理解Web Service的具體功用。其實說白了,WebService就是通過調用

    其他網站的資源來獲取一些必要的信息。舉個例子:網絡上的網站,我們電腦中的QQ等等都會涉及到天氣預報,而這些天氣預

    報其實就是通過Web Service來調用國家氣象臺網站的一些信息,而爲什麼要通過WebService也就很好理解了,總不能爲了這

    麼個功能而自己建立個氣象預報臺?


   2.1.1是我粗略畫的關於Web Service的基本傳輸機制。

                           


2.1.1 Web Service 的傳輸原理


第一個Demo

       創建服務端——Web Service Project


對於Web Service Project的創建,供選擇的框架有:JAX-WSWS。其實MyEclipse的早期版本還有個是Xfire,只不過我用的是10.6的版本,這也就造成了過時的Xfire被新版本摒棄的情況。我對這三個框架做個簡要的介紹:


框架名

描述

JAX-WS

是新的WebService模式,基於註解,對WebService進行配置,相對於Xfire減少了很多的麻煩

RESTJAX-RS

用的很少,這裏不做介紹

Xfire

配置繁瑣,已經被摒棄



2.2.1.1   建立Web Service Project第一步



     建立業務


           因爲是測試的緣故,所以這裏只是簡單的返回一個字符串:



2.2.2.1   創建業務類


package net.xuqiang.service;

 

publicclass HelloService {

  public String sayHello(){

     return"HELLO";

  }

}




代碼段2.2.2.1   業務類實現代碼


     發佈WS


2.2.3.1   點擊發布WS按鈕



2.2.3.2   發佈WS配置


註釋:因爲我們是新建立的,並沒有建立過WSDL,所以選擇Create web servicefrom Java classBottom-up scenario選項,至於框架的選擇則不用多說還是JAX-WS


2.2.3.3   發佈WS配置2


註釋:Java class選擇的是剛剛我們建立的HelloService業務類。因爲之前沒有生成過WSDL的緣故,所以需要把Generate WSDL inProject勾選上。另外一個要注意的是:Service Port的填寫,這個是你用來訪問的一個路徑,也就是客戶端是通過這個路徑來訪問的。


    配置

   MyEclipse->Properties->JavaBuild Path->Libraries選項

   

2.2.3.1   添加需要的JAR

註釋:選擇Add Library

2.2.3.2   添加Library

註釋:選擇MyEclipse Libraries

2.2.3.3   選擇Libraries

註釋:選擇JAX-WS 2.1 Runtime Libraries(Project Metro 1.1)JAX-WS 2.1 APILibraries這兩個包集。

 

 

    測試WS


   Web Service項目添加至Tomcat,並且啓動Tomcat


   開啓瀏覽器,在地址欄輸入:


   http://localhost:8080/WebServiceTest/HelloServicePort?wsdl



   

2.2.4.1   瀏覽器返回的信息

註釋:如果出現圖2.2.4.1所示的圖片,那麼表示Web Service發佈成功。

 

     創建客戶端


       創建一個Java Project


2.2.5.1   創建客戶端

註釋:直接Finish結束創建

 

    配置客戶端

2.2.6.1   點擊New Web Service Client

2.2.6.2   配置1


2.2.6.3   配置2

註釋:WSDL URL填寫的爲之前我們測試WS時候在瀏覽器中輸入的地址,其實這個地址就是用來尋找WSDL配置文件的。其他不需要變動,點擊Next

2.2.6.4   測試連接

註釋:這是用來測試所輸入的WSDLURL路徑是否正確,當然這個前提是你得開啓Web Service的服務端。點擊Finish結束配置。

2.6.5     配置完成後的文件結構圖

註釋:配置完成後,MyEclipse會自動生成一系列的java文件。

 

    測試客戶端


   

2.2.7.1   建立測試類

package net.xuqiang.service;

publicclass HelloTest {

  publicstaticvoid main(String[] args) {

     HelloServiceService service = new HelloServiceService();

     HelloServiceDelegate delegate = service.getHelloServicePort();

     System.out.println(delegate.sayHello());

  }

}

代碼段2.2.5.1   測試調用類代碼片段

2.2.7.2   運行結果圖

註釋:運行結果爲我們在業務類中返回的字符串“HELLO”


發佈了45 篇原創文章 · 獲贊 67 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章