JavaTM 2 Platform
Standard Ed. 6

javax.xml.soap
類別 MessageFactory

java.lang.Object
  繼承者 javax.xml.soap.MessageFactory

public abstract class MessageFactory
extends Object

創建 SOAPMessage 物件的處理器。

SAAJ 客戶端可以使用方法 newInstance 創建 MessageFactory 物件,如以下程式碼行所示。

MessageFactory mf = MessageFactory.newInstance();
MessageFactory mf12 = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
 

預設情況下,所有 MessageFactory 物件(無論它們是如何創建的)都將產生具有以下元素的 SOAPMessage 物件:

在某些情況下,可以獲取特殊的 MessageFactory 物件來產生用 SOAPHeader 物件和 SOAPBody 物件中的附加條目預填充的訊息。新的 SOAPMessage 物件的內容取決於使用兩種 MessageFactory 方法中的哪一種創建該物件。


建構子摘要
MessageFactory()
           
 
方法摘要
abstract  SOAPMessage createMessage()
          使用預設的 SOAPPartSOAPEnvelopeSOAPBodySOAPHeader 物件創建新的 SOAPMessage 物件。
abstract  SOAPMessage createMessage(MimeHeaders headers, InputStream in)
          將給定 InputStream 物件的內容內部化到新的 SOAPMessage 物件,並返回該 SOAPMessage 物件。
static MessageFactory newInstance()
          創建新的 MessageFactory 物件,該物件是預設實作 (SOAP 1.1) 的實例。
static MessageFactory newInstance(String protocol)
          創建新的 MessageFactory 物件,該物件是指定實作的實例。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

MessageFactory

public MessageFactory()
方法詳細資訊

newInstance

public static MessageFactory newInstance()
                                  throws SOAPException
創建新的 MessageFactory 物件,該物件是預設實作 (SOAP 1.1) 的實例。 此方法使用以下尋找過程順序來確定要載入的 MessageFactory 實作類別:

返回:
新的 MessageFactory 實例
拋出:
SOAPException - 如果創建預設的 MessageFactory 實作時存在錯誤。
另請參見:
SAAJMetaFactory

newInstance

public static MessageFactory newInstance(String protocol)
                                  throws SOAPException
創建新的 MessageFactory 物件,該物件是指定實作的實例。可以是動態訊息處理器、SOAP 1.1 訊息處理器或 SOAP 1.2 訊息處理器。動態訊息處理器根據作為 createMessage 方法參數指定的 MIME 頭創建訊息。此方法使用 SAAJMetaFactory 來定位實作類別並創建 MessageFactory 實例。

參數:
protocol - 字元串常數,表示指定訊息處理器實作的類別。可以是 DYNAMIC_SOAP_PROTOCOLDEFAULT_SOAP_PROTOCOL(等同於 SOAP_1_1_PROTOCOL)或 SOAP_1_2_PROTOCOL
返回:
新的 MessageFactory 實例
拋出:
SOAPException - 如果創建指定的 MessageFactory 實例時存在錯誤。
從以下版本開始:
SAAJ 1.3
另請參見:
SAAJMetaFactory

createMessage

public abstract SOAPMessage createMessage()
                                   throws SOAPException
使用預設的 SOAPPartSOAPEnvelopeSOAPBodySOAPHeader 物件創建新的 SOAPMessage 物件。特定於配置檔案的訊息處理器可以選擇用特定於配置檔案的頭預填充 SOAPMessage 物件。

可以向此訊息的 SOAPPart 物件添加內容,如果一個只包含 SOAP 部分的訊息便已足夠,則可以按“原樣”發送訊息。否則,SOAPMessage 物件需要創建一個或多個 AttachmentPart 物件並將其添加到自身。任何非 XML 格式的內容必須在 AttachmentPart 物件中。

返回:
一個新的 SOAPMessage 物件
拋出:
SOAPException - 如果發生 SOAP 錯誤
UnsupportedOperationException - 如果此 MessageFactory 實例的協議是 DYNAMIC_SOAP_PROTOCOL

createMessage

public abstract SOAPMessage createMessage(MimeHeaders headers,
                                          InputStream in)
                                   throws IOException,
                                          SOAPException
將給定 InputStream 物件的內容內部化到新的 SOAPMessage 物件,並返回該 SOAPMessage 物件。

參數:
in - 套件含訊息資料的 InputStream 物件
headers - 用於創建訊息的特定於傳輸的頭,使用與傳輸無關的方式傳遞給訊息
返回:
一個新的 SOAPMessage 物件,包含給定 InputStream 物件的資料
拋出:
IOException - 如果讀取輸入串流的資料時存在錯誤
SOAPException - 訊息無效時拋出
IllegalArgumentException - 如果 MessageFactory 需要一個或多個 MIME 頭存在於 headers 參數中,但是它們丟失了。SOAP_1_1_PROTOCOLSOAP_1_2_PROTOCOLMessageFactory 實作不得因此拋出 IllegalArgumentException

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only