javax.xml.soap

## Interface SOAPHeaderElement

- All Superinterfaces:
    Element, Node, SOAPElement

      public interface SOAPHeaderElement
      extends SOAPElement

  An object representing the contents in the SOAP header part of the SOAP envelope. The immediate children of a `SOAPHeader` object can be represented only as `SOAPHeaderElement` objects.

  A `SOAPHeaderElement` object can have other `SOAPElement` objects as its children.

- - ### 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 | Description
    --- | --- | ---
    `String` | `getActor()` | Returns the uri of the actor attribute of this `SOAPHeaderElement`.
    `boolean` | `getMustUnderstand()` | Returns the boolean value of the mustUnderstand attribute for this `SOAPHeaderElement`.
    `boolean` | `getRelay()` | Returns the boolean value of the relay attribute for this `SOAPHeaderElement`
    `String` | `getRole()` | Returns the value of the Role attribute of this `SOAPHeaderElement`.
    `void` | `setActor(String actorURI)` | Sets the actor associated with this `SOAPHeaderElement` object to the specified actor.
    `void` | `setMustUnderstand(boolean mustUnderstand)` | Sets the mustUnderstand attribute for this `SOAPHeaderElement` object to be either true or false.
    `void` | `setRelay(boolean relay)` | Sets the relay attribute for this `SOAPHeaderElement` to be either true or false.
    `void` | `setRole(String uri)` | Sets the `Role` associated with this `SOAPHeaderElement` object to the specified `Role`.

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

    - ### Methods inherited from interface javax.xml.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

    - #### setActor

          void setActor(String actorURI)

      Sets the actor associated with this `SOAPHeaderElement` object to the specified actor. The default value of an actor is: `SOAPConstants.URI_SOAP_ACTOR_NEXT`

      If this `SOAPHeaderElement` supports SOAP 1.2 then this call is equivalent to `setRole(String)`

      Parameters:
        `actorURI` - a `String` giving the URI of the actor to set
      Throws:
        `IllegalArgumentException` - if there is a problem in setting the actor.
      See Also:
        `getActor()`

    - #### setRole

          void setRole(String uri)
                throws SOAPException

      Sets the `Role` associated with this `SOAPHeaderElement` object to the specified `Role`.
      Parameters:
        `uri` - - the URI of the `Role`
      Throws:
        `SOAPException` - if there is an error in setting the role
        `UnsupportedOperationException` - if this message does not support the SOAP 1.2 concept of Fault Role.
      Since:
        SAAJ 1.3

    - #### getActor

          String getActor()

      Returns the uri of the actor attribute of this `SOAPHeaderElement`.

      If this `SOAPHeaderElement` supports SOAP 1.2 then this call is equivalent to `getRole()`

      Returns:
        a `String` giving the URI of the actor
      See Also:
        `setActor(java.lang.String)`

    - #### getRole

          String getRole()

      Returns the value of the Role attribute of this `SOAPHeaderElement`.
      Returns:
        a `String` giving the URI of the `Role`
      Throws:
        `UnsupportedOperationException` - if this message does not support the SOAP 1.2 concept of Fault Role.
      Since:
        SAAJ 1.3

    - #### setMustUnderstand

          void setMustUnderstand(boolean mustUnderstand)

      Sets the mustUnderstand attribute for this `SOAPHeaderElement` object to be either true or false.

      If the mustUnderstand attribute is on, the actor who receives the `SOAPHeaderElement` must process it correctly. This ensures, for example, that if the `SOAPHeaderElement` object modifies the message, that the message is being modified correctly.

      Parameters:
        `mustUnderstand` - `true` to set the mustUnderstand attribute to true; `false` to set it to false
      Throws:
        `IllegalArgumentException` - if there is a problem in setting the mustUnderstand attribute
      See Also:
        `getMustUnderstand()`, `setRelay(boolean)`

    - #### getMustUnderstand

          boolean getMustUnderstand()

      Returns the boolean value of the mustUnderstand attribute for this `SOAPHeaderElement`.
      Returns:
        `true` if the mustUnderstand attribute of this `SOAPHeaderElement` object is turned on; `false` otherwise

    - #### setRelay

          void setRelay(boolean relay)
                 throws SOAPException

      Sets the relay attribute for this `SOAPHeaderElement` to be either true or false.

      The SOAP relay attribute is set to true to indicate that the SOAP header block must be relayed by any node that is targeted by the header block but not actually process it. This attribute is ignored on header blocks whose mustUnderstand attribute is set to true or that are targeted at the ultimate reciever (which is the default). The default value of this attribute is `false`.

      Parameters:
        `relay` - the new value of the relay attribute
      Throws:
        `SOAPException` - if there is a problem in setting the relay attribute.
        `UnsupportedOperationException` - if this message does not support the SOAP 1.2 concept of Relay attribute.
      Since:
        SAAJ 1.3
      See Also:
        `setMustUnderstand(boolean)`, `getRelay()`

    - #### getRelay

          boolean getRelay()

      Returns the boolean value of the relay attribute for this `SOAPHeaderElement`
      Returns:
        `true` if the relay attribute is turned on; `false` otherwise
      Throws:
        `UnsupportedOperationException` - if this message does not support the SOAP 1.2 concept of Relay attribute.
      Since:
        SAAJ 1.3
      See Also:
        `getMustUnderstand()`, `setRelay(boolean)`

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, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.