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的基本內容結構:
具體實例可參考:【WebService】——入門實例
是由xml編寫的,主要分兩部分:抽象定義和具體描述。基本元素有type、message、part、operation、binding、service等。
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消息機制。