1. 程式人生 > >【WebService】——SOAP、WSDL和UDDI

【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編寫的,主要分兩部分:抽象定義和具體描述

。基本元素有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訊息機制。