public interface SOAPFault extends SOAPBodyElement
SOAPBody object that contains
 error and/or status information. This information may relate to
 errors in the SOAPMessage object or to problems
 that are not related to the content in the message itself. Problems
 not related to the message itself are generally errors in
 processing, such as the inability to communicate with an upstream
 server.
 
 Depending on the protocol specified while creating the
 MessageFactory instance,  a SOAPFault has
 sub-elements as defined in the SOAP 1.1/SOAP 1.2 specification.
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| Modifier and Type | Method | Description | 
|---|---|---|
| Detail | addDetail() | Creates an optional  Detailobject and sets it as theDetailobject for thisSOAPFaultobject. | 
| void | addFaultReasonText(String text,
                  Locale locale) | Appends or replaces a Reason Text item containing the specified
 text message and an xml:lang derived from
  locale. | 
| void | appendFaultSubcode(QName subcode) | Adds a Subcode to the end of the sequence of Subcodes contained by this
  SOAPFault. | 
| Detail | getDetail() | Returns the optional detail element for this  SOAPFaultobject. | 
| String | getFaultActor() | Gets the fault actor for this  SOAPFaultobject. | 
| String | getFaultCode() | Gets the fault code for this  SOAPFaultobject. | 
| Name | getFaultCodeAsName() | Gets the mandatory SOAP 1.1 fault code for this
  SOAPFaultobject as a SAAJNameobject. | 
| QName | getFaultCodeAsQName() | Gets the fault code for this
  SOAPFaultobject as aQNameobject. | 
| String | getFaultNode() | Returns the optional Node element value for this
  SOAPFaultobject. | 
| Iterator | getFaultReasonLocales() | Returns an  Iteratorover a distinct sequence ofLocales for which there are associated Reason Text items. | 
| String | getFaultReasonText(Locale locale) | Returns the Reason Text associated with the given  Locale. | 
| Iterator | getFaultReasonTexts() | Returns an  Iteratorover a sequence ofStringobjects containing all of the Reason Text items for
 thisSOAPFault. | 
| String | getFaultRole() | Returns the optional Role element value for this
  SOAPFaultobject. | 
| String | getFaultString() | Gets the fault string for this  SOAPFaultobject. | 
| Locale | getFaultStringLocale() | Gets the locale of the fault string for this  SOAPFaultobject. | 
| Iterator | getFaultSubcodes() | Gets the Subcodes for this  SOAPFaultas an iterator overQNames. | 
| boolean | hasDetail() | Returns true if this  SOAPFaulthas aDetailsubelement and false otherwise. | 
| void | removeAllFaultSubcodes() | Removes any Subcodes that may be contained by this
  SOAPFault. | 
| void | setFaultActor(String faultActor) | Sets this  SOAPFaultobject with the given fault actor. | 
| void | setFaultCode(Name faultCodeQName) | Sets this  SOAPFaultobject with the given fault code. | 
| void | setFaultCode(QName faultCodeQName) | Sets this  SOAPFaultobject with the given fault code. | 
| void | setFaultCode(String faultCode) | Sets this  SOAPFaultobject with the give fault code. | 
| void | setFaultNode(String uri) | Creates or replaces any existing Node element value for
 this  SOAPFaultobject. | 
| void | setFaultRole(String uri) | Creates or replaces any existing Role element value for
 this  SOAPFaultobject. | 
| void | setFaultString(String faultString) | Sets the fault string for this  SOAPFaultobject
 to the given string. | 
| void | setFaultString(String faultString,
              Locale locale) | Sets the fault string for this  SOAPFaultobject
 to the given string and localized to the given locale. | 
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, setEncodingStyledetachNode, getParentElement, getValue, recycleNode, setParentElement, setValuegetAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNSappendChild, 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, setUserDatavoid setFaultCode(Name faultCodeQName) throws SOAPException
SOAPFault object with the given fault code.
  Fault codes, which give information about the fault, are defined
 in the SOAP 1.1 specification. A fault code is mandatory and must
 be of type Name. This method provides a convenient
 way to set a fault code. For example,
 
 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);
 
 It is preferable to use this method over setFaultCode(String).faultCodeQName - a Name object giving the fault
 code to be set. It must be namespace qualified.SOAPException - if there was an error in adding the
            faultcode element to the underlying XML tree.getFaultCodeAsName()void setFaultCode(QName faultCodeQName) throws SOAPException
SOAPFault object with the given fault code.
 It is preferable to use this method over setFaultCode(Name).faultCodeQName - a QName object giving the fault
 code to be set. It must be namespace qualified.SOAPException - if there was an error in adding the
            faultcode element to the underlying XML tree.getFaultCodeAsQName(), 
setFaultCode(Name), 
getFaultCodeAsQName()void setFaultCode(String faultCode) throws SOAPException
SOAPFault object with the give fault code.
 
 Fault codes, which given information about the fault, are defined in
 the SOAP 1.1 specification. This element is mandatory in SOAP 1.1.
 Because the fault code is required to be a QName it is preferable to
 use the setFaultCode(Name) form of this method.
faultCode - a String giving the fault code to be set.
         It must be of the form "prefix:localName" where the prefix has
         been defined in a namespace declaration.SOAPException - if there was an error in adding the
            faultCode to the underlying XML tree.setFaultCode(Name), 
getFaultCode(), 
SOAPElement.addNamespaceDeclaration(java.lang.String, java.lang.String)Name getFaultCodeAsName()
SOAPFault object as a SAAJ Name object.
 The SOAP 1.1 specification requires the value of the "faultcode"
 element to be of type QName. This method returns the content of the
 element as a QName in the form of a SAAJ Name object. This method
 should be used instead of the getFaultCode method since
 it allows applications to easily access the namespace name without
 additional parsing.Name representing the faultcodesetFaultCode(Name)QName getFaultCodeAsQName()
SOAPFault object as a QName object.QName representing the faultcodesetFaultCode(QName)Iterator getFaultSubcodes()
SOAPFault as an iterator over
 QNames.Iterator that accesses a sequence of
      QNames. This Iterator should not support
      the optional remove method. The order in which the
      Subcodes are returned reflects the hierarchy of Subcodes present
      in the fault from top to bottom.UnsupportedOperationException - if this message does not
      support the SOAP 1.2 concept of Subcode.void removeAllFaultSubcodes()
SOAPFault. Subsequent calls to
 getFaultSubcodes will return an empty iterator until a call
 to appendFaultSubcode is made.UnsupportedOperationException - if this message does not
      support the SOAP 1.2 concept of Subcode.void appendFaultSubcode(QName subcode) throws SOAPException
SOAPFault. Subcodes, which were introduced in SOAP 1.2, are
 represented by a recursive sequence of subelements rooted in the
 mandatory Code subelement of a SOAP Fault.subcode - a QName containing the Value of the Subcode.SOAPException - if there was an error in setting the SubcodeUnsupportedOperationException - if this message does not
      support the SOAP 1.2 concept of Subcode.String getFaultCode()
SOAPFault object.String with the fault codegetFaultCodeAsName(), 
setFaultCode(javax.xml.soap.Name)void setFaultActor(String faultActor) throws SOAPException
SOAPFault object with the given fault actor.
 The fault actor is the recipient in the message path who caused the fault to happen.
 If this SOAPFault supports SOAP 1.2 then this call is
 equivalent to setFaultRole(String)
faultActor - a String identifying the actor that
        caused this SOAPFault objectSOAPException - if there was an error in adding the
            faultActor to the underlying XML tree.getFaultActor()String getFaultActor()
SOAPFault object.
 
 If this SOAPFault supports SOAP 1.2 then this call is
 equivalent to getFaultRole()
String giving the actor in the message path
         that caused this SOAPFault objectsetFaultActor(java.lang.String)void setFaultString(String faultString) throws SOAPException
SOAPFault object
 to the given string.
 
 If this
 SOAPFault is part of a message that supports SOAP 1.2 then
 this call is equivalent to:
 
      addFaultReasonText(faultString, Locale.getDefault());
 faultString - a String giving an explanation of
        the faultSOAPException - if there was an error in adding the
            faultString to the underlying XML tree.getFaultString()void setFaultString(String faultString, Locale locale) throws SOAPException
SOAPFault object
 to the given string and localized to the given locale.
 
 If this
 SOAPFault is part of a message that supports SOAP 1.2 then
 this call is equivalent to:
 
      addFaultReasonText(faultString, locale);
 faultString - a String giving an explanation of
         the faultlocale - a Locale object indicating
         the native language of the faultStringSOAPException - if there was an error in adding the
            faultString to the underlying XML tree.getFaultString()String getFaultString()
SOAPFault object.
 
 If this
 SOAPFault is part of a message that supports SOAP 1.2 then
 this call is equivalent to:
 
    String reason = null;
    try {
        reason = (String) getFaultReasonTexts().next();
    } catch (SOAPException e) {}
    return reason;
 String giving an explanation of
        the faultsetFaultString(String), 
setFaultString(String, Locale)Locale getFaultStringLocale()
SOAPFault
 object.
 
 If this
 SOAPFault is part of a message that supports SOAP 1.2 then
 this call is equivalent to:
 
    Locale locale = null;
    try {
        locale = (Locale) getFaultReasonLocales().next();
    } catch (SOAPException e) {}
    return locale;
 Locale object indicating the native language of
          the fault string or null if no locale was specifiedsetFaultString(String, Locale)boolean hasDetail()
SOAPFault has a Detail
 subelement and false otherwise. Equivalent to
 (getDetail()!=null).SOAPFault has a Detail
 subelement and false otherwise.Detail getDetail()
SOAPFault
 object.
 
 A Detail object carries application-specific error
 information, the scope of the error information is restricted to
 faults in the SOAPBodyElement objects if this is a
 SOAP 1.1 Fault.
Detail object with application-specific
         error information if present, null otherwiseDetail addDetail() throws SOAPException
Detail object and sets it as the
 Detail object for this SOAPFault
 object.
 It is illegal to add a detail when the fault already contains a detail. Therefore, this method should be called only after the existing detail has been removed.
Detail objectSOAPException - if this
            SOAPFault object already contains a
            valid Detail objectIterator getFaultReasonLocales() throws SOAPException
Iterator over a distinct sequence of
 Locales for which there are associated Reason Text items.
 Any of these Locales can be used in a call to
 getFaultReasonText in order to obtain a localized version
 of the Reason Text string.Iterator over a sequence of Locale
      objects for which there are associated Reason Text items.SOAPException - if there was an error in retrieving
 the  fault Reason locales.UnsupportedOperationException - if this message does not
      support the SOAP 1.2 concept of Fault Reason.Iterator getFaultReasonTexts() throws SOAPException
Iterator over a sequence of
 String objects containing all of the Reason Text items for
 this SOAPFault.Iterator over env:Fault/env:Reason/env:Text items.SOAPException - if there was an error in retrieving
 the  fault Reason texts.UnsupportedOperationException - if this message does not
      support the SOAP 1.2 concept of Fault Reason.String getFaultReasonText(Locale locale) throws SOAPException
Locale.
 If more than one such Reason Text exists the first matching Text is
 returnedlocale - -- the Locale for which a localized
      Reason Text is desiredlocaleSOAPException - if there was an error in retrieving
 the  fault Reason text for the specified locale .UnsupportedOperationException - if this message does not
      support the SOAP 1.2 concept of Fault Reason.getFaultString()void addFaultReasonText(String text, Locale locale) throws SOAPException
locale. If a Reason Text item with this
 xml:lang already exists its text value will be replaced
 with text.
 The locale parameter should not be null
 Code sample:
 SOAPFault fault = ...;
 fault.addFaultReasonText("Version Mismatch", Locale.ENGLISH);
 text - -- reason message stringlocale - -- Locale object representing the locale of the messageSOAPException - if there was an error in adding the Reason text
 or the locale passed was null.UnsupportedOperationException - if this message does not
      support the SOAP 1.2 concept of Fault Reason.String getFaultNode()
SOAPFault object. The Node element is
 optional in SOAP 1.2.null if noneUnsupportedOperationException - if this message does not
      support the SOAP 1.2 concept of Fault Node.void setFaultNode(String uri) throws SOAPException
SOAPFault object. The Node element
 is optional in SOAP 1.2.SOAPException - if there was an error in setting the
            Node for this  SOAPFault object.UnsupportedOperationException - if this message does not
      support the SOAP 1.2 concept of Fault Node.String getFaultRole()
SOAPFault object. The Role element is
 optional in SOAP 1.2.null if noneUnsupportedOperationException - if this message does not
      support the SOAP 1.2 concept of Fault Role.void setFaultRole(String uri) throws SOAPException
SOAPFault object. The Role element
 is optional in SOAP 1.2.uri - - the URI of the RoleSOAPException - if there was an error in setting the
            Role for this  SOAPFault object.UnsupportedOperationException - if this message does not
      support the SOAP 1.2 concept of Fault Role. Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.