JavaTM 2 Platform
Standard Ed. 6

javax.xml.soap
介面 SOAPFault

所有父級介面:
Element, Node, SOAPBodyElement, SOAPElement

public interface SOAPFault
extends SOAPBodyElement

SOAPBody 物件中的元素,包含錯誤和/或狀態資訊。此資訊可能與 SOAPMessage 物件中的錯誤相關,也可能與和訊息本身的內容無關的問題相關。與訊息本身無關的問題通常是處理過程中的錯誤,如無法與上游伺服器通信。

SOAPFault 具有 SOAP 1.1 或 SOAP 1.2 規範中定義的子元素,具體取決於創建 MessageFactory 實例時指定的 protocol


欄位摘要
 
從介面 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
 
方法摘要
 Detail addDetail()
          創建可選的 Detail 物件,並將其設置為此 SOAPFault 物件的 Detail 物件。
 void addFaultReasonText(String text, Locale locale)
          追加或替換包含指定文本訊息的 Reason Text 項,以及從 locale 派生的 xml:lang
 void appendFaultSubcode(QName subcode)
          將 Subcode 添加到此 SOAPFault 套件含的 Subcode 序列的末尾。
 Detail getDetail()
          返回此 SOAPFault 物件的可選 detail 元素。
 String getFaultActor()
          獲取此 SOAPFault 物件的錯誤參與者。
 String getFaultCode()
          獲取此 SOAPFault 物件的錯誤程式碼。
 Name getFaultCodeAsName()
          以 SAAJ Name 物件形式獲取此 SOAPFault 物件的強制性 SOAP 1.1 錯誤程式碼。
 QName getFaultCodeAsQName()
          以 QName 物件形式獲取此 SOAPFault 物件的錯誤程式碼。
 String getFaultNode()
          返回此 SOAPFault 物件的可選 Node 元素值。
 Iterator getFaultReasonLocales()
          返回一個 Iterator,它可以在與 Reason Text 項關聯的 Locale 獨特序列上進行迭代。
 String getFaultReasonText(Locale locale)
          返回與給定 Locale 關聯的 Reason Text。
 Iterator getFaultReasonTexts()
          返回一個 Iterator,它可以在包含此 SOAPFault 所有 Reason Text 項的 String 物件序列上進行迭代。
 String getFaultRole()
          返回此 SOAPFault 物件的可選 Role 元素值。
 String getFaultString()
          獲取此 SOAPFault 物件的錯誤字元串。
 Locale getFaultStringLocale()
          獲取此 SOAPFault 物件錯誤字元串的語言環境。
 Iterator getFaultSubcodes()
          以 QNames 迭代器形式獲取此 SOAPFault 的 Subcode。
 boolean hasDetail()
          如果此 SOAPFault 有一個 Detail 子元素,則返回 true,否則返回 false。
 void removeAllFaultSubcodes()
          移除此 SOAPFault 可能包含的任何 Subcode。
 void setFaultActor(String faultActor)
          使用給定的錯誤參與者 (actor) 設置此 SOAPFault 物件。
 void setFaultCode(Name faultCodeQName)
          使用給定的錯誤程式碼設置此 SOAPFault 物件。
 void setFaultCode(QName faultCodeQName)
          使用給定的錯誤程式碼設置此 SOAPFault 物件。
 void setFaultCode(String faultCode)
          使用給定的錯誤程式碼設置此 SOAPFault 物件。
 void setFaultNode(String uri)
          創建或替換此 SOAPFault 物件的任何現有 Node 元素。
 void setFaultRole(String uri)
          創建或替換此 SOAPFault 物件的任何現有 Role 元素。
 void setFaultString(String faultString)
          將此 SOAPFault 物件的錯誤字元串設定為給定字元串。
 void setFaultString(String faultString, Locale locale)
          將此 SOAPFault 物件的錯誤字元串設定為給定字元串,並本地化為給定語言環境。
 
從介面 javax.xml.soap.SOAPElement 繼承的方法
addAttribute, addAttribute, addChildElement, addChildElement, addChildElement, addChildElement, addChildElement, addChildElement, addNamespaceDeclaration, addTextNode, createQName, getAllAttributes, getAllAttributesAsQNames, getAttributeValue, getAttributeValue, getChildElements, getChildElements, getChildElements, getElementName, getElementQName, getEncodingStyle, getNamespacePrefixes, getNamespaceURI, getVisibleNamespacePrefixes, removeAttribute, removeAttribute, removeContents, removeNamespaceDeclaration, setElementQName, setEncodingStyle
 
從介面 javax.xml.soap.Node 繼承的方法
detachNode, getParentElement, getValue, recycleNode, setParentElement, setValue
 
從介面 org.w3c.dom.Element 繼承的方法
getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS
 
從介面 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
 

方法詳細資訊

setFaultCode

void setFaultCode(Name faultCodeQName)
                  throws SOAPException
使用給定的錯誤程式碼設置此 SOAPFault 物件。

給出有關錯誤資訊的錯誤程式碼是在 SOAP 1.1 規範中定義的。錯誤程式碼是強制性的 (mandatory),必須是 QName 型別。此方法提供設置錯誤程式碼的便捷方式。例如,

SOAPEnvelope se = ...;
// Create a qualified name in the SOAP namespace with a localName
// of "Client".Note that prefix parameter is optional and is null
// here which causes the implementation to use an appropriate prefix.
Name qname = se.createName("Client", null,
SOAPConstants.URI_NS_SOAP_ENVELOPE);
SOAPFault fault = ...;
fault.setFaultCode(qname);
 
相比 setFaultCode(String) 方法,最好優先使用此方法。

參數:
faultCodeQName - 給出要設置的錯誤程式碼的 Name 物件。它必須是限定於名稱空間的。
拋出:
SOAPException - 如果在將 faultcode 元素添加到底層 XML 階層樹時出現錯誤。
從以下版本開始:
SAAJ 1.2
另請參見:
getFaultCodeAsName()

setFaultCode

void setFaultCode(QName faultCodeQName)
                  throws SOAPException
使用給定的錯誤程式碼設置此 SOAPFault 物件。相比 setFaultCode(Name) 方法,最好優先使用此方法。

參數:
faultCodeQName - 提供要設置的錯誤程式碼的 QName 物件。它必須是限定於名稱空間的。
拋出:
SOAPException - 如果在將 faultcode 元素添加到底層 XML 階層樹時出現錯誤。
從以下版本開始:
SAAJ 1.3
另請參見:
getFaultCodeAsQName(), setFaultCode(Name), getFaultCodeAsQName()

setFaultCode

void setFaultCode(String faultCode)
                  throws SOAPException
使用給定的錯誤程式碼設置此 SOAPFault 物件。

給出有關錯誤資訊的錯誤程式碼是在 SOAP 1.1 規範中定義的。此元素在 SOAP 1.1 中是強制性的。因為錯誤程式碼要求是 QName,所以最好使用此方法的 setFaultCode(Name) 形式。

參數:
faultCode - 提供要設置的錯誤程式碼的 String。它必須是 "prefix:localName" 形式,其中前綴是用名稱空間宣告定義的。
拋出:
SOAPException - 如果在將 faultCode 添加到底層 XML 階層樹時出現錯誤。
另請參見:
setFaultCode(Name), getFaultCode(), SOAPElement.addNamespaceDeclaration(java.lang.String, java.lang.String)

getFaultCodeAsName

Name getFaultCodeAsName()
以 SAAJ Name 物件形式獲取此 SOAPFault 物件的強制性 SOAP 1.1 錯誤程式碼。SOAP 1.1 規範要求 "faultcode" 元素的值為 QName 型別。此方法以 SAAJ Name 物件的形式返回 QName 形式的元素內容。應該使用此方法來代替 getFaultCode 方法,因為它允許應用程序方便地存取名稱空間名,而不需要其他解析。

返回:
表示錯誤程式碼的 Name
從以下版本開始:
SAAJ 1.2
另請參見:
setFaultCode(Name)

getFaultCodeAsQName

QName getFaultCodeAsQName()
QName 物件形式獲取此 SOAPFault 物件的錯誤程式碼。

返回:
表示錯誤程式碼的 QName
從以下版本開始:
SAAJ 1.3
另請參見:
setFaultCode(QName)

getFaultSubcodes

Iterator getFaultSubcodes()
QNames 迭代器形式獲取此 SOAPFault 的 Subcode。

返回:
存取 QNames 序列的 IteratorIterator 不應支持可選的 remove 方法。Subcode 返回的順序反映了 Subcode 在錯誤程式碼中從上到下的層次結構。
拋出:
UnsupportedOperationException - 如果此訊息不支持 SOAP 1.2 定義的 Subcode。
從以下版本開始:
SAAJ 1.3

removeAllFaultSubcodes

void removeAllFaultSubcodes()
移除此 SOAPFault 可能包含的任何 Subcode。在調用 appendFaultSubcode 之前,對 getFaultSubcodes 的後續調用將返回空迭代器。

拋出:
UnsupportedOperationException - 如果此訊息不支持 SOAP 1.2 定義的 Subcode。
從以下版本開始:
SAAJ 1.3

appendFaultSubcode

void appendFaultSubcode(QName subcode)
                        throws SOAPException
將 Subcode 添加到此 SOAPFault 套件含的 Subcode 序列的末尾。SOAP 1.2 中引入的 Subcode 由遞歸子元素序列表示,該序列由 SOAP Fault 的強制 Code 子元素排列形成。

參數:
subcode - 套件含 Subcode 值的 QName。
拋出:
SOAPException - 如果在設置 Subcode 時出現錯誤
UnsupportedOperationException - 如果此訊息不支持 SOAP 1.2 定義的 Subcode。
從以下版本開始:
SAAJ 1.3

getFaultCode

String getFaultCode()
獲取此 SOAPFault 物件的錯誤程式碼。

返回:
帶有錯誤程式碼的 String
另請參見:
getFaultCodeAsName(), setFaultCode(javax.xml.soap.Name)

setFaultActor

void setFaultActor(String faultActor)
                   throws SOAPException
使用給定的錯誤參與者 (actor) 設置此 SOAPFault 物件。

錯誤參與者是訊息路徑中導致發生錯誤的接收方。

如果此 SOAPFault 支持 SOAP 1.2,則此調用等效於 setFaultRole(String)

參數:
faultActor - 一個 String,標識導致此 SOAPFault 物件的參與者
拋出:
SOAPException - 如果在將 faultActor 添加到底層 XML 階層樹時出現錯誤。
另請參見:
getFaultActor()

getFaultActor

String getFaultActor()
獲取此 SOAPFault 物件的錯誤參與者。

如果此 SOAPFault 支持 SOAP 1.2,那麼此調用等效於 getFaultRole()

返回:
一個 String,給出訊息路徑中導致此 SOAPFault 物件的參與者
另請參見:
setFaultActor(java.lang.String)

setFaultString

void setFaultString(String faultString)
                    throws SOAPException
將此 SOAPFault 物件的錯誤字元串設定為給定字元串。

如果此 SOAPFault 是支持 SOAP 1.2 的訊息的一部分,則此調用等效於:

addFaultReasonText(faultString, Locale.getDefault());
 

參數:
faultString - 一個 String,給出對錯誤的解釋
拋出:
SOAPException - 如果在將 faultString 添加到底層 XML 階層樹時出現錯誤。
另請參見:
getFaultString()

setFaultString

void setFaultString(String faultString,
                    Locale locale)
                    throws SOAPException
將此 SOAPFault 物件的錯誤字元串設定為給定字元串,並本地化為給定語言環境。

如果此 SOAPFault 是支持 SOAP 1.2 的訊息的一部分,則此調用等效於:

addFaultReasonText(faultString, locale);
 

參數:
faultString - 一個 String,給出對錯誤的解釋
locale - 一個 Locale 物件,指示 faultString 的本地語言
拋出:
SOAPException - 如果在將 faultString 添加到底層 XML 階層樹時出現錯誤。
從以下版本開始:
SAAJ 1.2
另請參見:
getFaultString()

getFaultString

String getFaultString()
獲取此 SOAPFault 物件的錯誤字元串。

如果此 SOAPFault 是支持 SOAP 1.2 的訊息的一部分,則此調用等效於:

String reason = null;
try {
reason = (String) getFaultReasonTexts().next();
} catch (SOAPException e) {}
return reason;
 

返回:
一個 String,給出對錯誤的解釋
另請參見:
setFaultString(String), setFaultString(String, Locale)

getFaultStringLocale

Locale getFaultStringLocale()
獲取此 SOAPFault 物件錯誤字元串的語言環境。

如果此 SOAPFault 是支持 SOAP 1.2 的訊息的一部分,則此調用等效於:

Locale locale = null;
try {
locale = (Locale) getFaultReasonLocales().next();
} catch (SOAPException e) {}
return locale;
 

返回:
一個 Locale 物件,指示預設字元串的本地語言,如果沒有指定語言環境,則返回 null
從以下版本開始:
SAAJ 1.2
另請參見:
setFaultString(String, Locale)

hasDetail

boolean hasDetail()
如果此 SOAPFault 有一個 Detail 子元素,則返回 true,否則返回 false。與 (getDetail()!=null) 等效。

返回:
如果此 SOAPFault 有一個 Detail 子元素,則返回 true,否則返回 false。
從以下版本開始:
SAAJ 1.3

getDetail

Detail getDetail()
返回此 SOAPFault 物件的可選 detail 元素。

Detail 物件攜帶了特定於應用程序的錯誤資訊,如果該錯誤資訊是 SOAP 1.1 Fault,則其範圍限於 SOAPBodyElement 物件中的錯誤。

返回:
帶有特定於應用程序的錯誤資訊的 Detail 物件(如果存在);如果不存在此類別物件,則返回 null。

addDetail

Detail addDetail()
                 throws SOAPException
創建可選的 Detail 物件,並將其設置為此 SOAPFault 物件的 Detail 物件。

當錯誤已包含詳細資訊時,添加詳細資訊是非法的。因此,此方法應該在移除了現有的詳細資訊之後調用。

返回:
新的 Detail 物件
拋出:
SOAPException - 如果此 SOAPFault 物件已包含一個有效的 Detail 物件

getFaultReasonLocales

Iterator getFaultReasonLocales()
                               throws SOAPException
返回一個 Iterator,它可以在與 Reason Text 項關聯的 Locale 獨特序列上進行迭代。這些 Locale 都可以用於對 getFaultReasonText 的調用,以便獲取 Reason Text 字元串的本地化版本。

返回:
一個 Iterator,可在與 Reason Text 項關聯的 Locale 物件序列上進行迭代。
拋出:
SOAPException - 如果檢索錯誤 Reason 語言環境時出現錯誤。
UnsupportedOperationException - 如果此訊息不支持 SOAP 1.2 定義的 Fault Reason。
從以下版本開始:
SAAJ 1.3

getFaultReasonTexts

Iterator getFaultReasonTexts()
                             throws SOAPException
返回一個 Iterator,它可以在包含此 SOAPFault 所有 Reason Text 項的 String 物件序列上進行迭代。

返回:
一個 Iterator,可在 env:Fault/env:Reason/env:Text 項上進行迭代。
拋出:
SOAPException - 如果檢索錯誤 Reason 文本時出現錯誤。
UnsupportedOperationException - 如果此訊息不支持 SOAP 1.2 定義的 Fault Reason。
從以下版本開始:
SAAJ 1.3

getFaultReasonText

String getFaultReasonText(Locale locale)
                          throws SOAPException
返回與給定 Locale 關聯的 Reason Text。如果存在一個以上這種 Reason Text,則返回第一個與 Text 比對的 Reason Text。

參數:
locale - 本地化 Reason Text 時需要的 Locale
返回:
locale 關聯的 Reason Text
拋出:
SOAPException - 如果針對指定語言環境檢索錯誤 Reason 文本時出現錯誤。
UnsupportedOperationException - 如果此訊息不支持 SOAP 1.2 定義的 Fault Reason。
從以下版本開始:
SAAJ 1.3
另請參見:
getFaultString()

addFaultReasonText

void addFaultReasonText(String text,
                        Locale locale)
                        throws SOAPException
追加或替換包含指定文本訊息的 Reason Text 項,以及從 locale 派生的 xml:lang。如果已經存在帶有此 xml:lang 的 Reason Text 項,則其文本值將被 text 替換。locale 參數不應為 null

程式碼範例:

SOAPFault fault = ...;
fault.addFaultReasonText("Version Mismatch", Locale.ENGLISH);
 

參數:
text - 原因訊息字元串
locale - 表示訊息語言環境的 Locale 物件
拋出:
SOAPException - 如果在添加 Reason 文本時出現錯誤,或者傳遞的 localenull
UnsupportedOperationException - 如果此訊息不支持 SOAP 1.2 定義的 Fault Reason。
從以下版本開始:
SAAJ 1.3

getFaultNode

String getFaultNode()
返回此 SOAPFault 物件的可選 Node 元素值。Node 元素在 SOAP 1.2 中是可選的。

返回:
String 形式的 env:Fault/env:Node 元素的內容,如果沒有此類別內容,則返回 null
拋出:
UnsupportedOperationException - 如果此訊息不支持 SOAP 1.2 定義的 Fault Node。
從以下版本開始:
SAAJ 1.3

setFaultNode

void setFaultNode(String uri)
                  throws SOAPException
創建或替換此 SOAPFault 物件的任何現有 Node 元素。Node 元素在 SOAP 1.2 中是可選的。

拋出:
SOAPException - 如果在設置此 SOAPFault 物件的 Node 時出現錯誤。
UnsupportedOperationException - 如果此訊息不支持 SOAP 1.2 定義的 Fault Node。
從以下版本開始:
SAAJ 1.3

getFaultRole

String getFaultRole()
返回此 SOAPFault 物件的可選 Role 元素值。Role 元素在 SOAP 1.2 中是可選的。

返回:
String 形式的 env:Fault/env:Role 元素的內容,如果沒有此類別內容,則返回 null
拋出:
UnsupportedOperationException - 如果此訊息不支持 SOAP 1.2 定義的 Fault Role。
從以下版本開始:
SAAJ 1.3

setFaultRole

void setFaultRole(String uri)
                  throws SOAPException
創建或替換此 SOAPFault 物件的任何現有 Role 元素。Role 元素在 SOAP 1.2 中是可選的。

參數:
uri - Role 的 URI
拋出:
SOAPException - 如果在設置此 SOAPFault 物件的 Role 時出現錯誤。
UnsupportedOperationException - 如果此訊息不支持 SOAP 1.2 定義的 Fault Role。
從以下版本開始:
SAAJ 1.3

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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