org.apache.xmlbeans.impl.soap

## Interface SOAPHeader

- All Superinterfaces:
    Element, Node, SOAPElement

      public interface SOAPHeader
      extends SOAPElement

  A representation of the SOAP header element. A SOAP header element consists of XML data that affects the way the application-specific content is processed by the message provider. For example, transaction semantics, authentication information, and so on, can be specified as the content of a `SOAPHeader` object.

  A `SOAPEnvelope` object contains an empty `SOAPHeader` object by default. If the `SOAPHeader` object, which is optional, is not needed, it can be retrieved and deleted with the following line of code. The variable se is a `SOAPEnvelope` object.

           se.getHeader().detachNode();

  A `SOAPHeader` object is created with the `SOAPEnvelope` method `addHeader`. This method, which creates a new header and adds it to the envelope, may be called only after the existing header has been removed.

           se.getHeader().detachNode();
           SOAPHeader sh = se.addHeader();

  A `SOAPHeader` object can have only `SOAPHeaderElement` objects as its immediate children. The method `addHeaderElement` creates a new `HeaderElement` object and adds it to the `SOAPHeader` object. In the following line of code, the argument to the method `addHeaderElement` is a `Name` object that is the name for the new `HeaderElement` object.

           SOAPHeaderElement shElement = sh.addHeaderElement(name);

  See Also:
    `SOAPHeaderElement`

- - ### 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
    Modifier and Type | Method and Description
    --- | ---
    `SOAPHeaderElement` | `addHeaderElement(Name name)` Creates a new `SOAPHeaderElement` object initialized with the specified name and adds it to this `SOAPHeader` object.
    `Iterator` | `examineAllHeaderElements()` Returns an `Iterator` over all the `SOAPHeaderElement` objects in this `SOAPHeader` object.
    `Iterator` | `examineHeaderElements(String actor)` Returns a list of all the `SOAPHeaderElement` objects in this `SOAPHeader` object that have the the specified actor.
    `Iterator` | `examineMustUnderstandHeaderElements(String actor)` Returns an `Iterator` over all the `SOAPHeaderElement` objects in this `SOAPHeader` object that have the specified actor and that have a MustUnderstand attribute whose value is equivalent to `true`.
    `Iterator` | `extractAllHeaderElements()` Returns an `Iterator` over all the `SOAPHeaderElement` objects in this `SOAPHeader` object and detaches them from this `SOAPHeader` object.
    `Iterator` | `extractHeaderElements(String actor)` Returns a list of all the `SOAPHeaderElement` objects in this `SOAPHeader` object that have the the specified actor and detaches them from this `SOAPHeader` object.

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

    - #### addHeaderElement

          SOAPHeaderElement addHeaderElement(Name name)
                                      throws SOAPException

      Creates a new `SOAPHeaderElement` object initialized with the specified name and adds it to this `SOAPHeader` object.
      Parameters:
        `name` - a `Name` object with the name of the new `SOAPHeaderElement` object
      Returns:
        the new `SOAPHeaderElement` object that was inserted into this `SOAPHeader` object
      Throws:
        `SOAPException` - if a SOAP error occurs

    - #### examineHeaderElements

          Iterator examineHeaderElements(String actor)

      Returns a list of all the `SOAPHeaderElement` objects in this `SOAPHeader` object that have the the specified actor. An actor is a global attribute that indicates the intermediate parties to whom the message should be sent. An actor receives the message and then sends it to the next actor. The default actor is the ultimate intended recipient for the message, so if no actor attribute is included in a `SOAPHeader` object, the message is sent to its ultimate destination.
      Parameters:
        `actor` - a `String` giving the URI of the actor for which to search
      Returns:
        an `Iterator` object over all the `SOAPHeaderElement` objects that contain the specified actor
      See Also:
        `extractHeaderElements(java.lang.String)`

    - #### extractHeaderElements

          Iterator extractHeaderElements(String actor)

      Returns a list of all the `SOAPHeaderElement` objects in this `SOAPHeader` object that have the the specified actor and detaches them from this `SOAPHeader` object.

      This method allows an actor to process only the parts of the `SOAPHeader` object that apply to it and to remove them before passing the message on to the next actor.

      Parameters:
        `actor` - a `String` giving the URI of the actor for which to search
      Returns:
        an `Iterator` object over all the `SOAPHeaderElement` objects that contain the specified actor
      See Also:
        `examineHeaderElements(java.lang.String)`

    - #### examineMustUnderstandHeaderElements

          Iterator examineMustUnderstandHeaderElements(String actor)

      Returns an `Iterator` over all the `SOAPHeaderElement` objects in this `SOAPHeader` object that have the specified actor and that have a MustUnderstand attribute whose value is equivalent to `true`.
      Parameters:
        `actor` - a `String` giving the URI of the actor for which to search
      Returns:
        an `Iterator` object over all the `SOAPHeaderElement` objects that contain the specified actor and are marked as MustUnderstand

    - #### examineAllHeaderElements

          Iterator examineAllHeaderElements()

      Returns an `Iterator` over all the `SOAPHeaderElement` objects in this `SOAPHeader` object.
      Returns:
        an `Iterator` object over all the `SOAPHeaderElement` objects contained by this `SOAPHeader`

    - #### extractAllHeaderElements

          Iterator extractAllHeaderElements()

      Returns an `Iterator` over all the `SOAPHeaderElement` objects in this `SOAPHeader` object and detaches them from this `SOAPHeader` object.
      Returns:
        an `Iterator` object over all the `SOAPHeaderElement` objects contained by this `SOAPHeader`