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
对象:
SOAPPart
对象 SOAPEnvelope
对象 SOAPBody
对象 SOAPHeader
对象 SOAPHeader
对象和SOAPBody
对象中的SOAPHeader
条目的消息。
新的SOAPMessage
对象的内容取决于两个MessageFactory
方法中的MessageFactory
一个用于创建它。
createMessage()
createMessage(MimeHeaders, java.io.InputStream)
-消息具有从所述内容InputStream
从对象和标题MimeHeaders
对象 Constructor and Description |
---|
MessageFactory() |
Modifier and Type | Method and Description |
---|---|
abstract SOAPMessage |
createMessage()
创建一个新
SOAPMessage 与默认对象
SOAPPart ,
SOAPEnvelope ,
SOAPBody 和
SOAPHeader 对象。
|
abstract SOAPMessage |
createMessage(MimeHeaders headers, InputStream in)
将给定的
InputStream 对象的内容内化为一个新的
SOAPMessage 对象,并返回
SOAPMessage 对象。
|
static MessageFactory |
newInstance()
创建一个新的
MessageFactory 对象,该对象是默认实现(SOAP 1.1)的实例。此方法使用以下有序查找过程来确定要加载的MessageFactory实现类:使用javax.xml.soap.MessageFactory系统属性。
|
static MessageFactory |
newInstance(String protocol)
创建一个新的
MessageFactory 对象,该对象是指定实现的一个实例。
|
public static MessageFactory newInstance() throws SOAPException
MessageFactory
对象,该对象是默认实现(SOAP 1.1)的实例。此方法使用以下有序查找过程来确定要加载的MessageFactory实现类:
MessageFactory
实例
SOAPException
- 如果创建MessageFactory的默认实现时
MessageFactory
。
SAAJMetaFactory
public static MessageFactory newInstance(String protocol) throws SOAPException
MessageFactory
对象,该对象是指定实现的实例。
可能是一个动态消息工厂,一个SOAP 1.1消息工厂或一个SOAP 1.2消息工厂。
动态消息工厂基于指定为createMessage
方法的createMessage
的MIME标头创建消息。
此方法使用SAAJMetaFactory来定位实现类并创建MessageFactory实例。
protocol
- 表示指定消息工厂实现类的字符串常量。
可以是DYNAMIC_SOAP_PROTOCOL
, DEFAULT_SOAP_PROTOCOL
(其是相同的) SOAP_1_1_PROTOCOL
,或SOAP_1_2_PROTOCOL
。
MessageFactory
SOAPException
-如果在创建指定执行的错误
MessageFactory
。
SAAJMetaFactory
public abstract SOAPMessage createMessage() throws SOAPException
SOAPMessage
与默认对象SOAPPart
, SOAPEnvelope
, SOAPBody
和SOAPHeader
对象。
个人资料信息工厂可以选择预先SOAPMessage
对象的个人资料头文件。
可以将内容添加到此消息的SOAPPart
对象中,并且当仅包含SOAP部分的消息就足够时,消息可以“按原样”发送。 否则, SOAPMessage
对象需要创建一个或多个AttachmentPart
对象并将其添加到其自身。 任何不是XML格式的内容必须在AttachmentPart
对象中。
SOAPMessage
对象
SOAPException
- 如果发生SOAP错误
UnsupportedOperationException
- 如果这个
MessageFactory
实例的协议是
DYNAMIC_SOAP_PROTOCOL
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
参数中,并且它们丢失。
MessageFactory
实现为SOAP_1_1_PROTOCOL
或SOAP_1_2_PROTOCOL
不得抛出IllegalArgumentException
这个原因。