對象訪問協定

velope,soap:Body和soap:Header是唯一的三個結構元素。 根元素是顯著的元素,它是soap:Body或是soap:Header的直接的子元素。 而soap:Header元素有多個根元素,與訊息相聯繫的每個頭擴展對應一個。

SOAP數據類型

在SOAP訊息中,每個元素可能是一個SOAP結構元素,一個根元素,一個存取元素或一個獨立的元素。在SOAP中,soap:Envelope,soap:Body和soap:Header是唯一的三個結構元素。它們的基本關係由下列XMLSchema所描述。

具體

在SOAP元素的四種類型中,除了結構元素外都被用作表達類型的實例或對一個類型實例的引用。

根元素是顯著的元素,它是soap:Body或是soap:Header的直接的子元素。其中soap:Body只有一個根元素,它表達調用、回響或錯誤對象。這個根元素必須是soap:Body的第一個子元素,它的標記名和域名URI必須與HTTPSOAPMethodName頭或在錯誤訊息情況下的soap:Fault相對應。而soap:Header元素有多個根元素,與訊息相聯繫的每個頭擴展對應一個。這些根元素必須是soap:Header的直接子元素,它們的標記名和名域URI表示當前存在擴展數據的類型。

存取元素被用作表達類型的域、屬性或數據成員。一個給定類型的域在它的SOAP表達將只有一個存取元素。存取元素的標記名對應於類型的域名。

對引用簡單類型的存取元素,元素值被簡單地編碼為直接在存取元素下的字元數據,如上所示。對引用組合類型的存取元素(就是那些自身用子存取元素來構造的存取元素),有兩個技術來對存取元素進行編碼。最簡單的方法是把被結構化的值直接嵌入在存取元素下。

在考慮組合存取元素時,需要說明幾個問題。先考慮上面的transfer類。類的from和to的域是對象引用,它可能為空。SOAP用XMLSchemas的null屬性來表示空值或引用。

在不存在的情況下,xsd:null屬性的隱含值是false。給定元素的能否為空的屬性是由XMLSchema定義來控制的。

相關搜尋

熱門詞條

聯絡我們