uTools-Manuals/docs/java/javax/xml/soap/MessageFactory.html

303 lines
16 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.xml.soap
</div>
<h2 class="title" title="Class MessageFactory">Class MessageFactory</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.xml.soap.MessageFactory</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">MessageFactory</span>
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<span>创建<code>SOAPMessage</code>对象的工厂。</span>
<p> <span>SAAJ客户端可以使用方法<code>newInstance</code>创建一个<code>MessageFactory</code>对象,如以下代码行所示。</span> </p>
<pre> <span>MessageFactory mf = MessageFactory.newInstance();
MessageFactory mf12 = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);</span> </pre>
<p> <span>所有<code>MessageFactory</code>对象,无论它们如何创建,都将生成默认情况下具有以下元素的<code>SOAPMessage</code>对象:</span> </p>
<ul>
<li> <span>一个<code>SOAPPart</code>对象</span> </li>
<li> <span>一个<code>SOAPEnvelope</code>对象</span> </li>
<li> <span>一个<code>SOAPBody</code>对象</span> </li>
<li> <span>一个<code>SOAPHeader</code>对象</span> </li>
</ul>
<span>在某些情况下可能会获得专门的MessageFactory对象该对象会产生预先填充的<code>SOAPHeader</code>对象和<code>SOAPBody</code>对象中的<code>SOAPHeader</code>条目的消息。</span>
<span>新的<code>SOAPMessage</code>对象的内容取决于两个<code>MessageFactory</code>方法中的<code>MessageFactory</code>一个用于创建它。</span>
<ul>
<li> <code>createMessage()</code> <br/> <span>这是客户端通常用于创建请求消息的方法。</span> </li>
<li> <span><code>createMessage(MimeHeaders, java.io.InputStream)</code> -消息具有从所述内容<code>InputStream</code>从对象和标题<code>MimeHeaders</code>对象</span> <br/> <span>该方法可以由服务实现在内部使用来创建一个响应请求的消息。</span> </li>
</ul>
</div> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../javax/xml/soap/MessageFactory.html#MessageFactory--">MessageFactory</a></span>()</code> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t1"><span><a href="javascript:show(1);">静态方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>abstract <a href="../../../javax/xml/soap/SOAPMessage.html" title="class in javax.xml.soap">SOAPMessage</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/soap/MessageFactory.html#createMessage--">createMessage</a></span>()</code>
<div class="block">
创建一个新
<code>SOAPMessage</code>与默认对象
<code>SOAPPart</code>
<code>SOAPEnvelope</code>
<code>SOAPBody</code>
<code>SOAPHeader</code>对象。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>abstract <a href="../../../javax/xml/soap/SOAPMessage.html" title="class in javax.xml.soap">SOAPMessage</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/soap/MessageFactory.html#createMessage-javax.xml.soap.MimeHeaders-java.io.InputStream-">createMessage</a></span>(<a href="../../../javax/xml/soap/MimeHeaders.html" title="class in javax.xml.soap">MimeHeaders</a> headers, <a href="../../../java/io/InputStream.html" title="class in java.io">InputStream</a> in)</code>
<div class="block">
将给定的
<code>InputStream</code>对象的内容内化为一个新的
<code>SOAPMessage</code>对象,并返回
<code>SOAPMessage</code>对象。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>static <a href="../../../javax/xml/soap/MessageFactory.html" title="class in javax.xml.soap">MessageFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/soap/MessageFactory.html#newInstance--">newInstance</a></span>()</code>
<div class="block">
创建一个新的
<code>MessageFactory</code>对象该对象是默认实现SOAP 1.1的实例。此方法使用以下有序查找过程来确定要加载的MessageFactory实现类使用javax.xml.soap.MessageFactory系统属性。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>static <a href="../../../javax/xml/soap/MessageFactory.html" title="class in javax.xml.soap">MessageFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/soap/MessageFactory.html#newInstance-java.lang.String-">newInstance</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> protocol)</code>
<div class="block">
创建一个新的
<code>MessageFactory</code>对象,该对象是指定实现的一个实例。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="MessageFactory--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>MessageFactory</h4> <pre>public MessageFactory()</pre> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="newInstance--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newInstance</h4> <pre>public static <a href="../../../javax/xml/soap/MessageFactory.html" title="class in javax.xml.soap">MessageFactory</a> newInstance()
throws <a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></pre>
<div class="block">
<span>创建一个新的<code>MessageFactory</code>对象该对象是默认实现SOAP 1.1的实例。此方法使用以下有序查找过程来确定要加载的MessageFactory实现类</span>
<ul>
<li> <span>使用javax.xml.soap.MessageFactory系统属性。</span> </li>
<li> <span>使用JRE目录中的属性文件“lib / jaxm.properties”。</span> <span>此配置文件采用标准的java.util.Properties格式并包含实现类的完全限定名称其中键为上面定义的系统属性。</span> </li>
<li> <span>使用服务API如JAR规范中所述如果可用确定类名。</span> <span>Services API将在运行时可用的jar中的文件META-INF / services / javax.xml.soap.MessageFactory中查找一个类名。</span> </li>
<li> <span>使用SAAJMetaFactory实例来定位MessageFactory实现类。</span> </li>
</ul>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个新的一个
<code>MessageFactory</code>实例
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></code> - 如果创建MessageFactory的默认实现时
<code>MessageFactory</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/xml/soap/SAAJMetaFactory.html" title="javax.xml.soap中的类"><code>SAAJMetaFactory</code></a></span>
</dd>
</dl> </li>
</ul> <a name="newInstance-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newInstance</h4> <pre>public static <a href="../../../javax/xml/soap/MessageFactory.html" title="class in javax.xml.soap">MessageFactory</a> newInstance(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> protocol)
throws <a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></pre>
<div class="block">
<span>创建一个新的<code>MessageFactory</code>对象,该对象是指定实现的实例。</span>
<span>可能是一个动态消息工厂一个SOAP 1.1消息工厂或一个SOAP 1.2消息工厂。</span>
<span>动态消息工厂基于指定为<code>createMessage</code>方法的<code>createMessage</code>的MIME标头创建消息。</span>
<span>此方法使用SAAJMetaFactory来定位实现类并创建MessageFactory实例。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>protocol</code> - 表示指定消息工厂实现类的字符串常量。</span>
<span>可以是<code>DYNAMIC_SOAP_PROTOCOL</code> <code>DEFAULT_SOAP_PROTOCOL</code> (其是相同的) <code>SOAP_1_1_PROTOCOL</code> ,或<code>SOAP_1_2_PROTOCOL</code></span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个新的一个
<code>MessageFactory</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></code> -如果在创建指定执行的错误
<code>MessageFactory</code>
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
SAAJ 1.3
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/xml/soap/SAAJMetaFactory.html" title="javax.xml.soap中的类"><code>SAAJMetaFactory</code></a></span>
</dd>
</dl> </li>
</ul> <a name="createMessage--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>createMessage</h4> <pre>public abstract <a href="../../../javax/xml/soap/SOAPMessage.html" title="class in javax.xml.soap">SOAPMessage</a> createMessage()
throws <a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></pre>
<div class="block">
<span>创建一个新<code>SOAPMessage</code>与默认对象<code>SOAPPart</code> <code>SOAPEnvelope</code> <code>SOAPBody</code><code>SOAPHeader</code>对象。</span>
<span>个人资料信息工厂可以选择预先<code>SOAPMessage</code>对象的个人资料头文件。</span>
<p> <span>可以将内容添加到此消息的<code>SOAPPart</code>对象中并且当仅包含SOAP部分的消息就足够时消息可以“按原样”发送。</span> <span>否则, <code>SOAPMessage</code>对象需要创建一个或多个<code>AttachmentPart</code>对象并将其添加到其自身。</span> <span>任何不是XML格式的内容必须在<code>AttachmentPart</code>对象中。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个新的
<code>SOAPMessage</code>对象
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></code> - 如果发生SOAP错误
</dd>
<dd>
<code><a href="../../../java/lang/UnsupportedOperationException.html" title="class in java.lang">UnsupportedOperationException</a></code> - 如果这个
<code>MessageFactory</code>实例的协议是
<code>DYNAMIC_SOAP_PROTOCOL</code>
</dd>
</dl> </li>
</ul> <a name="createMessage-javax.xml.soap.MimeHeaders-java.io.InputStream-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>createMessage</h4> <pre>public abstract <a href="../../../javax/xml/soap/SOAPMessage.html" title="class in javax.xml.soap">SOAPMessage</a> createMessage(<a href="../../../javax/xml/soap/MimeHeaders.html" title="class in javax.xml.soap">MimeHeaders</a> headers,
<a href="../../../java/io/InputStream.html" title="class in java.io">InputStream</a> in)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a>,
<a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></pre>
<div class="block">
将给定的
<code>InputStream</code>对象的内容内化为一个新的
<code>SOAPMessage</code>对象,并返回
<code>SOAPMessage</code>对象。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>in</code> - 包含消息数据的
<code>InputStream</code>对象
</dd>
<dd>
<code>headers</code> - 以传输独立方式传送给消息的传输特定头文件用于创建消息
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个新的
<code>SOAPMessage</code>对象包含来自给定的
<code>InputStream</code>对象的数据
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果从输入流读取数据有问题
</dd>
<dd>
<code><a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></code> - 如果消息无效,可能会抛出
</dd>
<dd>
<span><code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果<code>MessageFactory</code>需要一个或多个MIME标头存在于<code>headers</code>参数中,并且它们丢失。</span>
<span><code>MessageFactory</code>实现为<code>SOAP_1_1_PROTOCOL</code><code>SOAP_1_2_PROTOCOL</code>不得抛出<code>IllegalArgumentException</code>这个原因。</span>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>