org.apache.xmlbeans.impl.soap

## Interface SOAPFault

All Superinterfaces:
  Element, Node, SOAPBodyElement, SOAPElement

    public interface SOAPFault
    extends SOAPBodyElement

An element in the `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.

The `SOAPFault` interface provides methods for retrieving the information contained in a `SOAPFault` object and for setting the fault code, the fault actor, and a string describing the fault. A fault code is one of the codes defined in the SOAP 1.1 specification that describe the fault. An actor is an intermediate recipient to whom a message was routed. The message path may include one or more actors, or, if no actors are specified, the message goes only to the default actor, which is the final intended recipient.

### Field Summary

### Fields inherited from interface 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`

### Method Summary

All Methods Instance Methods Abstract Methods
`Detail` `addDetail()` Creates a `Detail` object and sets it as the `Detail` object for this `SOAPFault` object.
`Detail` `getDetail()` Returns the detail element for this `SOAPFault` object.
`String` `getFaultActor()` Gets the fault actor for this `SOAPFault` object.
`String` `getFaultCode()` Gets the fault code for this `SOAPFault` object.
`Name` `getFaultCodeAsName()` Gets the mandatory SOAP 1.1 fault code for this `SOAPFault` object as a SAAJ `Name` object.
`String` `getFaultString()` Gets the fault string for this `SOAPFault` object.
`Locale` `getFaultStringLocale()` Returns the optional detail element for this `SOAPFault` object.
`void` `setFaultActor(String faultActor)` Sets this `SOAPFault` object with the given fault actor.
`void` `setFaultCode(Name name)` Sets this `SOAPFault` object with the given fault code.
`void` `setFaultCode(String faultCode)` Sets this `SOAPFault` object with the given fault code.
`void` `setFaultString(String faultString)` Sets the fault string for this `SOAPFault` object to the given string.
`void` `setFaultString(String faultString, Locale locale)` Sets the fault string for this `SOAPFault` object to the given string and localized to the given locale.

### Methods inherited from interface org.apache.xmlbeans.impl.soap.SOAPElement

`addAttribute, addChildElement, addChildElement, addChildElement, addChildElement, addChildElement, addNamespaceDeclaration, addTextNode, getAllAttributes, getAttributeValue, getChildElements, getChildElements, getElementName, getEncodingStyle, getNamespacePrefixes, getNamespaceURI, getVisibleNamespacePrefixes, removeAttribute, removeContents, removeNamespaceDeclaration, setEncodingStyle`

### Methods inherited from interface org.apache.xmlbeans.impl.soap.Node

`detachNode, getParentElement, getValue, recycleNode, setParentElement, setValue`

### Methods inherited from interface org.w3c.dom.Element

`getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS`

### Methods inherited from interface 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`

### Method Detail

#### setFaultCode

    void setFaultCode(String faultCode)
               throws SOAPException

Sets this `SOAPFault` object with the given fault code.

Fault codes, which given information about the fault, are defined in the SOAP 1.1 specification.

Parameters:
  `faultCode` - a `String` giving the fault code to be set; must be one of the fault codes defined in the SOAP 1.1 specification
Throws:
  `SOAPException` - if there was an error in adding the `faultCode` to the underlying XML tree.
See Also:
  `getFaultCode()`

#### getFaultCode

    String getFaultCode()

Gets the fault code for this `SOAPFault` object.

Returns:
  a `String` with the fault code
See Also:
  `setFaultCode(java.lang.String)`

#### setFaultActor

    void setFaultActor(String faultActor)
                throws SOAPException

Sets this `SOAPFault` object with the given fault actor.

The fault actor is the recipient in the message path who caused the fault to happen.

Parameters:
  `faultActor` - a `String` identifying the actor that caused this `SOAPFault` object
Throws:
  `SOAPException` - if there was an error in adding the `faultActor` to the underlying XML tree.
See Also:
  `getFaultActor()`

#### getFaultActor

    String getFaultActor()

Gets the fault actor for this `SOAPFault` object.

Returns:
  a `String` giving the actor in the message path that caused this `SOAPFault` object
See Also:
  `setFaultActor(java.lang.String)`

#### setFaultString

    void setFaultString(String faultString)
                 throws SOAPException

Sets the fault string for this `SOAPFault` object to the given string.

Parameters:
  `faultString` - a `String` giving an explanation of the fault
Throws:
  `SOAPException` - if there was an error in adding the `faultString` to the underlying XML tree.
See Also:
  `getFaultString()`

#### getFaultString

    String getFaultString()

Gets the fault string for this `SOAPFault` object.

Returns:
  a `String` giving an explanation of the fault

#### getDetail

    Detail getDetail()

Returns the detail element for this `SOAPFault` object.

A `Detail` object carries application-specific error information related to `SOAPBodyElement` objects.

Returns:
  a `Detail` object with application-specific error information

#### addDetail

    Detail addDetail()
              throws SOAPException

Creates a `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.

Returns:
  the new `Detail` object
Throws:
  `SOAPException` - if this `SOAPFault` object already contains a valid `Detail` object

#### setFaultCode

    void setFaultCode(Name name)
               throws SOAPException

Sets this `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 `QName`. 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).

Parameters:
  `name` - a `Name` object giving the fault code to be set. It must be namespace qualified.
Throws:
  `SOAPException` - if there was an error in adding the `faultcode` element to the underlying XML tree

#### getFaultCodeAsName

    Name getFaultCodeAsName()

Gets the mandatory SOAP 1.1 fault code for this `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.

In the future, a QName object version of this method may also be added.

Returns:
  a `Name` representing the faultcode

#### setFaultString

    void setFaultString(String faultString,
                        Locale locale)
                 throws SOAPException

Sets the fault string for this `SOAPFault` object to the given string and localized to the given locale.

Parameters:
  `faultString` - a `String` giving an explanation of the fault
  `locale` - a `Locale` object indicating the native language of the `faultString`
Throws:
  `SOAPException` - if there was an error in adding the `faultString` to the underlying XML tree

#### getFaultStringLocale

    Locale getFaultStringLocale()

Returns the optional detail element for this `SOAPFault` object.

Returns:
  a `Locale` object indicating the native language of the fault string or `null` if no locale was specified