|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
public interface SOAPEnvelope
SOAPPart 物件的 SOAPHeader 和 SOAPBody 部分的容器。預設情況下,使用帶有 SOAPEnvelope 物件的 SOAPPart 物件創建 SOAPMessage 物件。SOAPEnvelope 物件預設帶有空 SOAPBody 物件和空 SOAPHeader 物件。SOAPBody 物件是必需的,SOAPHeader 物件雖然是可選的,但在大多數情況下都會用到。如果不需要 SOAPHeader 物件,則可以刪除該物件(稍後將顯示該操作)。
客戶端可以通過調用方法 SOAPEnvelope.getHeader 和 SOAPEnvelope.getBody 來存取 SOAPHeader 和 SOAPBody 物件。以下程式碼行首先使用 SOAPMessage 物件 message 獲取 SOAPPart 物件 sp,然後使用後者獲取 SOAPEnvelope 物件 se,最後調用上述的兩種方法。
SOAPPart sp = message.getSOAPPart(); SOAPEnvelope se = sp.getEnvelope(); SOAPHeader sh = se.getHeader(); SOAPBody sb = se.getBody();
檢索 SOAPEnvelope 物件當前的正文或頭,然後將其刪除並添加一個新正文或頭,這樣就能更改該物件的正文或頭。javax.xml.soap.Node 方法 deleteNode 刪除調用它的 XML 元素(節點)。例如,以下程式碼行刪除由方法 getBody 檢索的 SOAPBody 物件。
se.getBody().detachNode();要創建用來替換被移除物件的
SOAPHeader 物件,客戶端應使用方法 SOAPEnvelope.addHeader,該方法創建一個新頭並將其添加到 SOAPEnvelope 物件。類似地,方法 addBody 創建一個新 SOAPBody 物件並將其添加到 SOAPEnvelope 物件。以下程式碼片段檢索當前的頭,然後將其刪除並添加一個新頭。接下來檢索當前的正文,然後將其刪除並添加一個新正文。
SOAPPart sp = message.getSOAPPart(); SOAPEnvelope se = sp.getEnvelope(); se.getHeader().detachNode(); SOAPHeader sh = se.addHeader(); se.getBody().detachNode(); SOAPBody sb = se.addBody();在已經存在的情況下添加
SOAPBody 或 SOAPHeader 是錯誤的。
SOAPEnvelope 介面提供了三種創建 Name 物件的方法。第一種方法使用本地名稱、名稱空間前綴以及名稱空間 URI 創建 Name 物件。第二種方法使用本地名稱和名稱空間前綴創建 Name 物件,第三種方法只使用本地名稱創建 Name 物件。以下程式碼行(其中 se 是一個 SOAPEnvelope 物件)創建帶有所有三個元素的新 Name 物件。
Name name = se.createName("GetLastTradePrice", "WOMBAT",
"http://www.wombat.org/trader");
| 欄位摘要 |
|---|
| 方法摘要 | |
|---|---|
SOAPBody |
addBody()
創建一個 SOAPBody 物件,並將其設置為此 SOAPEnvelope 物件的 SOAPBody 物件。 |
SOAPHeader |
addHeader()
創建一個 SOAPHeader 物件,並將其設置為此 SOAPEnvelope 物件的 SOAPHeader 物件。 |
Name |
createName(String localName)
創建使用給定本地名稱初始化的新 Name 物件。 |
Name |
createName(String localName,
String prefix,
String uri)
創建使用給定本地名稱、名稱空間前綴和名稱空間 URL 初始化的新 Name 物件。 |
SOAPBody |
getBody()
返回與此 SOAPEnvelope 物件關聯的 SOAPBody 物件。 |
SOAPHeader |
getHeader()
返回此 SOAPEnvelope 物件的 SOAPHeader 物件。 |
| 從介面 javax.xml.soap.Node 繼承的方法 |
|---|
detachNode, getParentElement, getValue, recycleNode, setParentElement, setValue |
| 方法詳細資訊 |
|---|
Name createName(String localName,
String prefix,
String uri)
throws SOAPException
Name 物件。
此處理器方法創建在 SOAP/XML 文檔中使用的 Name 物件。
localName - 給出本地名稱的 Stringprefix - 給出名稱空間前綴的 Stringuri - 給出名稱空間 URI 的 String
Name 物件
SOAPException - 如果存在 SOAP 錯誤
Name createName(String localName)
throws SOAPException
Name 物件。
此處理器方法創建在 SOAP/XML 文檔中使用的 Name 物件。
localName - 給出本地名稱的 String
Name 物件
SOAPException - 如果存在 SOAP 錯誤
SOAPHeader getHeader()
throws SOAPException
SOAPEnvelope 物件的 SOAPHeader 物件。
預設情況下,使用包含空 SOAPHeader 物件的 SOAPEnvelope 物件創建新 SOAPMessage 物件。因此,只要沒有移除了頭且尚未添加新頭,方法 getHeader 將總是返回 SOAPHeader 物件。
SOAPHeader 物件,如果沒有該物件,則返回 null
SOAPException - 如果在獲取 SOAPHeader 物件時出現問題
SOAPBody getBody()
throws SOAPException
SOAPEnvelope 物件關聯的 SOAPBody 物件。
預設情況下,使用包含空 SOAPBody 物件的 SOAPEnvelope 物件創建 SOAPMessage 物件。因此,只要沒有移除了正文且尚未添加新正文,方法 getBody 將總是返回 SOAPBody 物件。
SOAPEnvelope 物件的 SOAPBody 的物件,如果沒有該物件,則返回 null
SOAPException - 如果在獲取 SOAPBody 物件時出現問題
SOAPHeader addHeader()
throws SOAPException
SOAPHeader 物件,並將其設置為此 SOAPEnvelope 物件的 SOAPHeader 物件。
當信封已包含頭時,添加頭是非法的。因此,此方法應該在移除了現有的頭之後調用。
SOAPHeader 物件
SOAPException - 如果此 SOAPEnvelope 物件已包含一個有效的 SOAPHeader 物件
SOAPBody addBody()
throws SOAPException
SOAPBody 物件,並將其設置為此 SOAPEnvelope 物件的 SOAPBody 物件。
當信封已包含正文時,添加正文是非法的。因此,此方法應該在移除了現有的正文之後調用。
SOAPBody 物件
SOAPException - 如果此 SOAPEnvelope 物件已包含一個有效的 SOAPBody 物件
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。