JavaTM Platform
Standard Ed. 6

javax.xml.soap
类 SOAPPart

java.lang.Object
  继承者 javax.xml.soap.SOAPPart
所有已实现的接口:
Document, Node

public abstract class SOAPPart
     
extends Object
implements Document, Node

SOAPMessage 对象中特定于 SOAP 部分的容器。所有消息都必须有一个 SOAP 部分,因此 SOAPMessage 对象在创建之后将自动获得一个 SOAPPart 对象。

SOAPPart 对象是一个 MIME 部分,并具有 MIME 头 Content-Id、Content-Location 和 Content-Type。因为 Content-Type 的值必须为 "text/xml",所以 SOAPPart 对象自动获得 Content-Type 的 MIME 头,且 Content-Type 值已设置为 "text/xml"。消息 SOAP 部分中的所有数据都必须是 XML 格式,因此值必须为 "text/xml"。不是 "text/xml" 类型的内容不能在 SOAPPart 对象中,而必须在 AttachmentPart 对象中。

发送消息时,其 SOAP 部分必须将 MIME 头 Content-Type 设置为 "text/xml"。或者换个角度来说,已收到消息的 SOAP 部分必须具有值为 "text/xml" 的 MIME 头 Content-Type。

客户端可以通过调用方法 SOAPMessage.getSOAPPart 来访问 SOAPMessage 对象的 SOAPPart 对象。以下代码行(其中 message 是一个 SOAPMessage 对象)检索消息的 SOAP 部分。

SOAPPart soapPart = message.getSOAPPart();
 

SOAPPart 对象包含一个 SOAPEnvelope 对象,SOAPEnvelope 对象包含一个 SOAPBody 对象和一个 SOAPHeader 对象。SOAPPartgetEnvelope 方法可以用于检索 SOAPEnvelope 对象。


字段摘要
 
从接口 org.w3c.dom.Node 继承的字段
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
构造方法摘要
SOAPPart()
           
 
方法摘要
abstract  void addMimeHeader(String name, String value)
          使用指定名称和值创建 MimeHeader 对象,并将其添加到此 SOAPPart 对象。
abstract  Iterator getAllMimeHeaders()
          以可在 MimeHeader 对象上进行迭代的迭代器形式,检索此 SOAPPart 对象的所有头。
abstract  Source getContent()
          以 JAXP Source 对象的形式返回 SOAPEnvelope 的内容。
 String getContentId()
          检索名为 "Content-Id" 的 MIME 头的值。
 String getContentLocation()
          检索名为 "Content-Location" 的 MIME 头的值。
abstract  SOAPEnvelope getEnvelope()
          获取与此 SOAPPart 对象关联的 SOAPEnvelope 对象。
abstract  Iterator getMatchingMimeHeaders(String[] names)
          检索与给定数组中的名称匹配的所有 MimeHeader 对象。
abstract  String[] getMimeHeader(String name)
          获取此 SOAPPart 对象中所有由给定 String 标识的 MimeHeader 对象的值。
abstract  Iterator getNonMatchingMimeHeaders(String[] names)
          检索名称与给定数组中任一名称不匹配的所有 MimeHeader 对象。
abstract  void removeAllMimeHeaders()
          移除此 SOAPEnvelope 对象的所有 MimeHeader 对象。
abstract  void removeMimeHeader(String header)
          移除所有与给定名称匹配的 MIME 头。
abstract  void setContent(Source source)
          使用取自给定 Source 对象的数据设置 SOAPEnvelope 对象的内容。
 void setContentId(String contentId)
          将名为 "Content-Id" 的 MIME 头的值设置为给定 String
 void setContentLocation(String contentLocation)
          将 MIME 头 "Content-Location" 的值设置为给定 String
abstract  void setMimeHeader(String name, String value)
          将与给定头名称匹配的第一个头条目的值更改为给定值,如果现有头都不匹配,则添加一个带有给定名称和值的新头。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
从接口 org.w3c.dom.Document 继承的方法
adoptNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getImplementation, getInputEncoding, getStrictErrorChecking, getXmlEncoding, getXmlStandalone, getXmlVersion, importNode, normalizeDocument, renameNode, setDocumentURI, setStrictErrorChecking, setXmlStandalone, setXmlVersion
 
从接口 javax.xml.soap.Node 继承的方法
detachNode, getParentElement, getValue, recycleNode, setParentElement, setValue
 
从接口 org.w3c.dom.Node 继承的方法
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
 

构造方法详细信息

SOAPPart

public SOAPPart()
方法详细信息

getEnvelope

public abstract SOAPEnvelope getEnvelope()
                                  throws SOAPException
获取与此 SOAPPart 对象关联的 SOAPEnvelope 对象。获取 SOAP 信封后,可以用此方法来获取它的内容。

返回:
SOAPPart 对象的 SOAPEnvelope 对象
抛出:
SOAPException - 如果存在 SOAP 错误

getContentId

public String getContentId()
检索名为 "Content-Id" 的 MIME 头的值。

返回:
一个 String,给出名为 "Content-Id" 的 MIME 头的值
另请参见:
setContentId(java.lang.String)

getContentLocation

public String getContentLocation()
检索名为 "Content-Location" 的 MIME 头的值。

返回:
一个 String,给出名为 "Content-Location" 的 MIME 头的值
另请参见:
setContentLocation(java.lang.String)

setContentId

public void setContentId(String contentId)
将名为 "Content-Id" 的 MIME 头的值设置为给定 String

参数:
contentId - 一个 String,给出 MIME 头 "Content-Id" 的值
抛出:
IllegalArgumentException - 如果在设置内容 id 时出现问题
另请参见:
getContentId()

setContentLocation

public void setContentLocation(String contentLocation)
将 MIME 头 "Content-Location" 的值设置为给定 String

参数:
contentLocation - 一个 String,给出 MIME 头 "Content-Location" 的值
抛出:
IllegalArgumentException - 如果在设置内容位置时出现问题。
另请参见:
getContentLocation()

removeMimeHeader

public abstract void removeMimeHeader(String header)
移除所有与给定名称匹配的 MIME 头。

参数:
header - 一个 String,给出要移除的 MIME 头的名称

removeAllMimeHeaders

public abstract void removeAllMimeHeaders()
移除此 SOAPEnvelope 对象的所有 MimeHeader 对象。


getMimeHeader

public abstract String[] getMimeHeader(String name)
获取此 SOAPPart 对象中所有由给定 String 标识的 MimeHeader 对象的值。

参数:
name - 头的名称;示例:"Content-Type"
返回:
一个 String 数组,给出所有指定头的值
另请参见:
setMimeHeader(java.lang.String, java.lang.String)

setMimeHeader

public abstract void setMimeHeader(String name,
                                   String value)
将与给定头名称匹配的第一个头条目的值更改为给定值,如果现有头都不匹配,则添加一个带有给定名称和值的新头。如果有匹配的头,则此方法清除第一个匹配头的所有现有值,并设置为给定的值。如果多个头都具有给定名称,则此方法移除第一个匹配头之后的所有匹配头。

注意,RFC822 头只能包含 US-ASCII 字符。

参数:
name - 一个 String,给出要搜索的头的名称
value - 一个 String,给出要设置的值。此值将替换第一个匹配头(如果有)的当前值。如果没有匹配的头,则此值将是新 MimeHeader 对象的值。
抛出:
IllegalArgumentException - 如果指定的 mime 头名称或值存在问题
另请参见:
getMimeHeader(java.lang.String)

addMimeHeader

public abstract void addMimeHeader(String name,
                                   String value)
使用指定名称和值创建 MimeHeader 对象,并将其添加到此 SOAPPart 对象。如果已经存在带有指定名称的 MimeHeader,则此方法将指定值添加到已经存在的值中。

注意,RFC822 头只能包含 US-ASCII 字符。

参数:
name - 一个 String,给出头名称
value - 一个 String,给出要设置或要添加的值
抛出:
IllegalArgumentException - 如果指定的 mime 头名称或值存在问题

getAllMimeHeaders

public abstract Iterator getAllMimeHeaders()
以可在 MimeHeader 对象上进行迭代的迭代器形式,检索此 SOAPPart 对象的所有头。

返回:
一个 Iterator 对象,具有此 SOAPPart 对象的所有 Mime 头

getMatchingMimeHeaders

public abstract Iterator getMatchingMimeHeaders(String[] names)
检索与给定数组中的名称匹配的所有 MimeHeader 对象。

参数:
names - 一个 String 数组,带有要返回的 Mime 头的名称
返回:
Iterator 对象形式返回的与给定数组中任一名称匹配的所有 MIME 头

getNonMatchingMimeHeaders

public abstract Iterator getNonMatchingMimeHeaders(String[] names)
检索名称与给定数组中任一名称不匹配的所有 MimeHeader 对象。

参数:
names - 一个 String 数组,带有不要返回的 Mime 头的名称
返回:
SOAPPart 对象中与给定数组中任一名称匹配的 MIME 头之外的所有 MIME 头。以 Iterator 对象的形式返回不匹配的 MIME 头。

setContent

public abstract void setContent(Source source)
                         throws SOAPException
使用取自给定 Source 对象的数据设置 SOAPEnvelope 对象的内容。此 Source 必须包含一个有效的 SOAP 文档。

参数:
source - javax.xml.transform.Source 对象,带有要发送的数据
抛出:
SOAPException - 如果在设置源时出现错误。
另请参见:
getContent()

getContent

public abstract Source getContent()
                           throws SOAPException
以 JAXP Source 对象的形式返回 SOAPEnvelope 的内容。

返回:
javax.xml.transform.Source 对象形式的内容
抛出:
SOAPException - 如果实现无法转换指定的 Source 对象
另请参见:
setContent(javax.xml.transform.Source)

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策