天天看點

系統之間通訊方式—SOAP(web service)

2012-05-18 11:13:01|  分類: C# 名詞解析 |  标簽:|字号大中小 訂閱

【web service 簡介】

是一種新的web應用程式分支,是自包含、自描述、子產品化的應用,可以釋出、定位、通過web調用。web service是一個應用元件,它邏輯性的為其他應用程式提供資料與服務。各應用程式通過網絡協定和規定的一些标準資料格式(HTTP,XML,SOAP)來通路web servcie,通過web servcie内部執行得到所需結果。

web services ,可以将應用程式面向全世界釋出,或提供某項功能,web services可以被其他應用程式使用。

【關鍵技術】

(1)xml:描述資料的标準方法,web servcies使用xml來編解碼資料

xml提供了一種可用于不同的平台和程式設計語言之間的語言。

(2)soap:表述資訊交換的協定,web services使用saop來傳輸資料

soap是一種用于通路web service的協定。

(3)WSDL:web服務描述語言

使用XML編寫,用于描述web services、如何通路web services以及用于web services的消息格式和協定的細節語言。

(4)UDDI(Universal Description,Discovery and Integration):通用描述、發現與內建,它是一種獨立于平台的,基于xml語言的用于在網際網路上描述商務的協定。

使用者存儲有關web services的資訊的目錄,經由SOAP進行通訊。

【web service通信】

不管web service用什麼工具,什麼語言寫出來的,隻要你用soap協定通過http來調用它,總體結構都一緻。

(1)用你喜歡的語言(如VB6或者VB.NET)來建構你的web services,然後用soap Toolkit或者.net的内建來把它暴漏給web客戶。

注意:web service一般都是放在web伺服器(如:IIS、tomcat)後面的。

(2)任何語言、任務平台上的客戶都可以閱讀其WSDL檔案來調用webservice。

【web service調用過程】

(1)伺服器端:生成服務描述檔案,以供用戶端擷取(WSDL)。

(1)用戶端:取得服務端得服務描述檔案WSDL,解析該檔案的内容,了解服務端得服務資訊以及調用方式。根據需要,生成恰當的SOAP請求消息(指定調用的方法,已經調用的參數),用戶端生成的soap請求會被嵌入在一個HTTP POST請求中,發送到web伺服器端。(之後,開始等待服務端傳回的SOAP回應消息,解析得到傳回值。)

(2)web伺服器端收到用戶端的HTTP POST(SOAP)請求後,在将這些請求發給web service請求處理器。

(3)web service請求處理器解析收到的soap請求消息,解析其中的方法調用和參數格式。根據WSDL和WSML的描述,調用相應的COM對象來完成制定功能,并把傳回值放入SOAP回應消息中,傳給web伺服器端。

(4)web伺服器端得到soap應答後,會再通過HTTP應答的方式把它送回用戶端。

【web service 調用實作】