Module java.xml.soap
Package javax.xml.soap

## Interface SOAPBody

All Superinterfaces:
  `Element`, `Node`, `Node`, `SOAPElement`

    public interface SOAPBody
    extends SOAPElement

An object that represents the contents of the SOAP body element in a SOAP message. A SOAP body element consists of XML data that affects the way the application-specific content is processed.

A `SOAPBody` object contains `SOAPBodyElement` objects, which have the content for the SOAP body. A `SOAPFault` object, which carries status and/or error information, is an example of a `SOAPBodyElement` object.

Since:
  1.6
See Also:
  `SOAPFault`

### 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
`SOAPBodyElement` `addBodyElement​(QName qname)` Creates a new `SOAPBodyElement` object with the specified QName and adds it to this `SOAPBody` object.
`SOAPBodyElement` `addBodyElement​(Name name)` Creates a new `SOAPBodyElement` object with the specified name and adds it to this `SOAPBody` object.
`SOAPBodyElement` `addDocument​(Document document)` Adds the root node of the DOM `Document` to this `SOAPBody` object.
`SOAPFault` `addFault​()` Creates a new `SOAPFault` object and adds it to this `SOAPBody` object.
`SOAPFault` `addFault​(QName faultCode, String faultString)` Creates a new `SOAPFault` object and adds it to this `SOAPBody` object.
`SOAPFault` `addFault​(QName faultCode, String faultString, Locale locale)` Creates a new `SOAPFault` object and adds it to this `SOAPBody` object.
`SOAPFault` `addFault​(Name faultCode, String faultString)` Creates a new `SOAPFault` object and adds it to this `SOAPBody` object.
`SOAPFault` `addFault​(Name faultCode, String faultString, Locale locale)` Creates a new `SOAPFault` object and adds it to this `SOAPBody` object.
`Document` `extractContentAsDocument​()` Creates a new DOM `Document` and sets the first child of this `SOAPBody` as it's document element.
`SOAPFault` `getFault​()` Returns the `SOAPFault` object in this `SOAPBody` object.
`boolean` `hasFault​()` Indicates whether a `SOAPFault` object exists in this `SOAPBody` object.

### 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 javax.xml.soap.Node

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

### 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`

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

### Method Detail

#### addFault

    SOAPFault addFault​()
                throws SOAPException

Creates a new `SOAPFault` object and adds it to this `SOAPBody` object. The new `SOAPFault` will have default values set for the mandatory child elements. The type of the `SOAPFault` will be a SOAP 1.1 or a SOAP 1.2 `SOAPFault` depending on the `protocol` specified while creating the `MessageFactory` instance.

A `SOAPBody` may contain at most one `SOAPFault` child element.

Returns:
  the new `SOAPFault` object
Throws:
  `SOAPException` - if there is a SOAP error

#### addFault

    SOAPFault addFault​(Name faultCode,
                       String faultString,
                       Locale locale)
                throws SOAPException

Creates a new `SOAPFault` object and adds it to this `SOAPBody` object. The type of the `SOAPFault` will be a SOAP 1.1 or a SOAP 1.2 `SOAPFault` depending on the `protocol` specified while creating the `MessageFactory` instance.

For SOAP 1.2 the `faultCode` parameter is the value of the Fault/Code/Value element and the `faultString` parameter is the value of the Fault/Reason/Text element. For SOAP 1.1 the `faultCode` parameter is the value of the `faultcode` element and the `faultString` parameter is the value of the `faultstring` element.

A `SOAPBody` may contain at most one `SOAPFault` child element.

Parameters:
  `faultCode` - a `Name` object giving the fault code to be set; must be one of the fault codes defined in the Version of SOAP specification in use
  `faultString` - a `String` giving an explanation of the fault
  `locale` - a `Locale` object indicating the native language of the `faultString`
Returns:
  the new `SOAPFault` object
Throws:
  `SOAPException` - if there is a SOAP error
Since:
  1.6, SAAJ 1.2
See Also:
  `SOAPFault.setFaultCode(javax.xml.soap.Name)`, `SOAPFault.setFaultString(java.lang.String)`

#### addFault

    SOAPFault addFault​(QName faultCode,
                       String faultString,
                       Locale locale)
                throws SOAPException

Creates a new `SOAPFault` object and adds it to this `SOAPBody` object. The type of the `SOAPFault` will be a SOAP 1.1 or a SOAP 1.2 `SOAPFault` depending on the `protocol` specified while creating the `MessageFactory` instance.

For SOAP 1.2 the `faultCode` parameter is the value of the Fault/Code/Value element and the `faultString` parameter is the value of the Fault/Reason/Text element. For SOAP 1.1 the `faultCode` parameter is the value of the `faultcode` element and the `faultString` parameter is the value of the `faultstring` element.

A `SOAPBody` may contain at most one `SOAPFault` child element.

Parameters:
  `faultCode` - a `QName` object giving the fault code to be set; must be one of the fault codes defined in the version of SOAP specification in use.
  `faultString` - a `String` giving an explanation of the fault
  `locale` - a `Locale` object indicating the native language of the `faultString`
Returns:
  the new `SOAPFault` object
Throws:
  `SOAPException` - if there is a SOAP error
Since:
  1.6, SAAJ 1.3
See Also:
  `SOAPFault.setFaultCode(javax.xml.soap.Name)`, `SOAPFault.setFaultString(java.lang.String)`, `addFault(Name faultCode, String faultString, Locale locale)`

#### addFault

    SOAPFault addFault​(Name faultCode,
                       String faultString)
                throws SOAPException

Creates a new `SOAPFault` object and adds it to this `SOAPBody` object. The type of the `SOAPFault` will be a SOAP 1.1 or a SOAP 1.2 `SOAPFault` depending on the `protocol` specified while creating the `MessageFactory` instance.

For SOAP 1.2 the `faultCode` parameter is the value of the Fault/Code/Value element and the `faultString` parameter is the value of the Fault/Reason/Text element. For SOAP 1.1 the `faultCode` parameter is the value of the faultcode element and the `faultString` parameter is the value of the faultstring element.

In case of a SOAP 1.2 fault, the default value for the mandatory `xml:lang` attribute on the Fault/Reason/Text element will be set to `java.util.Locale.getDefault()`

A `SOAPBody` may contain at most one `SOAPFault` child element.

Parameters:
  `faultCode` - a `Name` object giving the fault code to be set; must be one of the fault codes defined in the version of SOAP specification in use
  `faultString` - a `String` giving an explanation of the fault
Returns:
  the new `SOAPFault` object
Throws:
  `SOAPException` - if there is a SOAP error
Since:
  1.6, SAAJ 1.2
See Also:
  `SOAPFault.setFaultCode(javax.xml.soap.Name)`, `SOAPFault.setFaultString(java.lang.String)`

#### addFault

    SOAPFault addFault​(QName faultCode,
                       String faultString)
                throws SOAPException

Creates a new `SOAPFault` object and adds it to this `SOAPBody` object. The type of the `SOAPFault` will be a SOAP 1.1 or a SOAP 1.2 `SOAPFault` depending on the `protocol` specified while creating the `MessageFactory` instance.

For SOAP 1.2 the `faultCode` parameter is the value of the Fault/Code/Value element and the `faultString` parameter is the value of the Fault/Reason/Text element. For SOAP 1.1 the `faultCode` parameter is the value of the faultcode element and the `faultString` parameter is the value of the faultstring element.

In case of a SOAP 1.2 fault, the default value for the mandatory `xml:lang` attribute on the Fault/Reason/Text element will be set to `java.util.Locale.getDefault()`

A `SOAPBody` may contain at most one `SOAPFault` child element

Parameters:
  `faultCode` - a `QName` object giving the fault code to be set; must be one of the fault codes defined in the version of SOAP specification in use
  `faultString` - a `String` giving an explanation of the fault
Returns:
  the new `SOAPFault` object
Throws:
  `SOAPException` - if there is a SOAP error
Since:
  1.6, SAAJ 1.3
See Also:
  `SOAPFault.setFaultCode(javax.xml.soap.Name)`, `SOAPFault.setFaultString(java.lang.String)`, `addFault(Name faultCode, String faultString)`

#### hasFault

    boolean hasFault​()

Indicates whether a `SOAPFault` object exists in this `SOAPBody` object.

Returns:
  `true` if a `SOAPFault` object exists in this `SOAPBody` object; `false` otherwise

#### getFault

    SOAPFault getFault​()

Returns the `SOAPFault` object in this `SOAPBody` object.

Returns:
  the `SOAPFault` object in this `SOAPBody` object if present, null otherwise.

#### addBodyElement

    SOAPBodyElement addBodyElement​(Name name)
                            throws SOAPException

Creates a new `SOAPBodyElement` object with the specified name and adds it to this `SOAPBody` object.

Parameters:
  `name` - a `Name` object with the name for the new `SOAPBodyElement` object
Returns:
  the new `SOAPBodyElement` object
Throws:
  `SOAPException` - if a SOAP error occurs
See Also:
  `addBodyElement(javax.xml.namespace.QName)`

#### addBodyElement

    SOAPBodyElement addBodyElement​(QName qname)
                            throws SOAPException

Creates a new `SOAPBodyElement` object with the specified QName and adds it to this `SOAPBody` object.

Parameters:
  `qname` - a `QName` object with the qname for the new `SOAPBodyElement` object
Returns:
  the new `SOAPBodyElement` object
Throws:
  `SOAPException` - if a SOAP error occurs
Since:
  1.6, SAAJ 1.3
See Also:
  `addBodyElement(Name)`

#### addDocument

    SOAPBodyElement addDocument​(Document document)
                         throws SOAPException

Adds the root node of the DOM `Document` to this `SOAPBody` object.

Calling this method invalidates the `document` parameter. The client application should discard all references to this `Document` and its contents upon calling `addDocument`. The behavior of an application that continues to use such references is undefined.

Parameters:
  `document` - the `Document` object whose root node will be added to this `SOAPBody`.
Returns:
  the `SOAPBodyElement` that represents the root node that was added.
Throws:
  `SOAPException` - if the `Document` cannot be added
Since:
  1.6, SAAJ 1.2

#### extractContentAsDocument

    Document extractContentAsDocument​()
                               throws SOAPException

Creates a new DOM `Document` and sets the first child of this `SOAPBody` as it's document element. The child `SOAPElement` is removed as part of the process.

Returns:
  the `Document` representation of the `SOAPBody` content.
Throws:
  `SOAPException` - if there is not exactly one child `SOAPElement` of the `SOAPBody`.
Since:
  1.6, SAAJ 1.3