【WebService】——SOAP、WSDL和UDDI
WebService的三要素:SOAP、WSDL和UDDI。soap用來描述傳遞資訊的格式,wsdl描述如何訪問具體的介面,uddi管理、分發查詢WebService。
1、SOAP
SOAP Simple Object Access Protocol簡單物件訪問協議,是一種簡單輕量的交換資料的規範。
soap也是基於xml的文件,包括Envelope、header、body等元素。它定義了一個框架,用來描述訊息的內容。
如何檢視?
我們可以通過工具來了解SOAP的傳送資料方式。
1)在MyEclipse中開啟web Service Explorer
2)輸入已經發布的服務地址,如圖:
3)可以看到之前的add和minus方法,輸入引數,執行。
我們可以看到,SOAP的request和response的文件都是xml格式的,而且都符合上面介紹的規範。
2、wsdl
大家都知道WebService可以實現跨平臺的可互操作性,它的描述語言wsdl,使得我們更方便的協調工作,傳遞訊息和資料。
wsdl Web Services Description Language 網路服務描述語言,以xml的格式在WebService中用來描述一個服務的資訊。下圖是wsdl的基本內容結構:
是由xml編寫的,主要分兩部分:抽象定義和具體描述
1)definition
wsdl的根元素,一般包含若干個xml名稱空間。targetNamespace
2)Message
屬於抽象定義內容,有一個或多個Part(訊息引數)組成。
例如:
上篇部落格建立的服務中,我們提供了add()方法,可以看到wsdl中的元素資訊。
3)Operation
對服務支援的操作進行的抽象描述,簡單的說,一般可以理解成服務中提供的具體方法。
input 輸入資訊,
output 輸出資訊
4)Service
相關埠的集合,http://localhost:5554/service/訪問地址。
5)types、binding、portType
wsdl還有一些元素很重要,但平時的開發中可能接觸並不多。
types 使用的資料型別
binding 通訊協議
portType 指出該WebService支援的操作(方法)。
3、UDDI
Universal Description Discovery and Integration 通用描述、發現和整合服務
最開始就介紹到它是可以實現查詢、管理WebService的,下圖描述了UDDI在web服務協議棧中所處的位置。
小結:
最開始接觸WebService的時候,只是在用它,並沒有去學習它的原理。現在一點點深入的瞭解中,再次學習了RPC、xml中的DTD和schema、SOAP訊息機制。