java.lang.Object javax.xml.soap.SOAPPart
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
对象。SOAPPart
的 getEnvelope
方法可以用于检索 SOAPEnvelope
对象。
字段摘要 |
---|
构造方法摘要 | |
---|---|
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 |
从接口 javax.xml.soap.Node 继承的方法 |
---|
detachNode, getParentElement, getValue, recycleNode, setParentElement, setValue |
构造方法详细信息 |
---|
public SOAPPart()
方法详细信息 |
---|
public abstract SOAPEnvelope getEnvelope() throws SOAPException
SOAPPart
对象关联的
SOAPEnvelope
对象。获取 SOAP 信封后,可以用此方法来获取它的内容。
SOAPPart
对象的
SOAPEnvelope
对象
SOAPException
- 如果存在 SOAP 错误
public String getContentId()
String
,给出名为 "Content-Id" 的 MIME 头的值
setContentId(java.lang.String)
public String getContentLocation()
String
,给出名为 "Content-Location" 的 MIME 头的值
setContentLocation(java.lang.String)
public void setContentId(String contentId)
String
。
contentId
- 一个
String
,给出 MIME 头 "Content-Id" 的值
IllegalArgumentException
- 如果在设置内容 id 时出现问题
getContentId()
public void setContentLocation(String contentLocation)
String
。
contentLocation
- 一个
String
,给出 MIME 头 "Content-Location" 的值
IllegalArgumentException
- 如果在设置内容位置时出现问题。
getContentLocation()
public abstract void removeMimeHeader(String header)
header
- 一个
String
,给出要移除的 MIME 头的名称
public abstract void removeAllMimeHeaders()
SOAPEnvelope
对象的所有
MimeHeader
对象。
public abstract String[] getMimeHeader(String name)
SOAPPart
对象中所有由给定
String
标识的
MimeHeader
对象的值。
name
- 头的名称;示例:"Content-Type"
String
数组,给出所有指定头的值
setMimeHeader(java.lang.String, java.lang.String)
public abstract void setMimeHeader(String name, String value)
注意,RFC822 头只能包含 US-ASCII 字符。
name
- 一个
String
,给出要搜索的头的名称
value
- 一个
String
,给出要设置的值。此值将替换第一个匹配头(如果有)的当前值。如果没有匹配的头,则此值将是新
MimeHeader
对象的值。
IllegalArgumentException
- 如果指定的 mime 头名称或值存在问题
getMimeHeader(java.lang.String)
public abstract void addMimeHeader(String name, String value)
MimeHeader
对象,并将其添加到此
SOAPPart
对象。如果已经存在带有指定名称的
MimeHeader
,则此方法将指定值添加到已经存在的值中。
注意,RFC822 头只能包含 US-ASCII 字符。
name
- 一个
String
,给出头名称
value
- 一个
String
,给出要设置或要添加的值
IllegalArgumentException
- 如果指定的 mime 头名称或值存在问题
public abstract Iterator getAllMimeHeaders()
MimeHeader
对象上进行迭代的迭代器形式,检索此
SOAPPart
对象的所有头。
Iterator
对象,具有此
SOAPPart
对象的所有 Mime 头
public abstract Iterator getMatchingMimeHeaders(String[] names)
MimeHeader
对象。
names
- 一个
String
数组,带有要返回的 Mime 头的名称
Iterator
对象形式返回的与给定数组中任一名称匹配的所有 MIME 头
public abstract Iterator getNonMatchingMimeHeaders(String[] names)
MimeHeader
对象。
names
- 一个
String
数组,带有不要返回的 Mime 头的名称
SOAPPart
对象中与给定数组中任一名称匹配的 MIME 头之外的所有 MIME 头。以
Iterator
对象的形式返回不匹配的 MIME 头。
public abstract void setContent(Source source) throws SOAPException
Source
对象的数据设置
SOAPEnvelope
对象的内容。此
Source
必须包含一个有效的 SOAP 文档。
source
-
javax.xml.transform.Source
对象,带有要发送的数据
SOAPException
- 如果在设置源时出现错误。
getContent()
public abstract Source getContent() throws SOAPException
Source
对象的形式返回 SOAPEnvelope 的内容。
javax.xml.transform.Source
对象形式的内容
SOAPException
- 如果实现无法转换指定的
Source
对象
setContent(javax.xml.transform.Source)