SAAJResult (Java SE 9 & JDK 9 )
Keywords: javax.xml.soap.SAAJResult class

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

## Class SAAJResult

- java.lang.Object
- - javax.xml.transform.dom.DOMResult
  - - javax.xml.soap.SAAJResult

- All Implemented Interfaces:
    `Result`

      public class SAAJResult
      extends DOMResult

  Acts as a holder for the results of a JAXP transformation or a JAXB marshalling, in the form of a SAAJ tree. These results should be accessed by using the `getResult()` method. The `DOMResult.getNode()` method should be avoided in almost all cases.
  Since:
    1.6, SAAJ 1.3

- - ### Field Summary

    - ### Fields inherited from class javax.xml.transform.dom.DOMResult

      `FEATURE`

    - ### Fields inherited from interface javax.xml.transform.Result

      `PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SAAJResult​()` | Creates a `SAAJResult` that will present results in the form of a SAAJ tree that supports the default (SOAP 1.1) protocol.
    `SAAJResult​(String protocol)` | Creates a `SAAJResult` that will present results in the form of a SAAJ tree that supports the specified protocol.
    `SAAJResult​(SOAPElement rootNode)` | Creates a `SAAJResult` that will write the results as a child node of the `SOAPElement` specified.
    `SAAJResult​(SOAPMessage message)` | Creates a `SAAJResult` that will write the results into the `SOAPPart` of the supplied `SOAPMessage`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Node` | `getResult​()` |

    - ### Methods inherited from class javax.xml.transform.dom.DOMResult

      `getNextSibling, getNode, getSystemId, setNextSibling, setNode, setSystemId`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SAAJResult

          public SAAJResult​()
                     throws SOAPException

      Creates a `SAAJResult` that will present results in the form of a SAAJ tree that supports the default (SOAP 1.1) protocol.

      This kind of `SAAJResult` is meant for use in situations where the results will be used as a parameter to a method that takes a parameter whose type, such as `SOAPElement`, is drawn from the SAAJ API. When used in a transformation, the results are populated into the `SOAPPart` of a `SOAPMessage` that is created internally. The `SOAPPart` returned by `DOMResult.getNode()` is not guaranteed to be well-formed.

      Throws:
        `SOAPException` - if there is a problem creating a `SOAPMessage`
      Since:
        1.6, SAAJ 1.3

    - #### SAAJResult

          public SAAJResult​(String protocol)
                     throws SOAPException

      Creates a `SAAJResult` that will present results in the form of a SAAJ tree that supports the specified protocol. The `DYNAMIC_SOAP_PROTOCOL` is ambiguous in this context and will cause this constructor to throw an `UnsupportedOperationException`.

      This kind of `SAAJResult` is meant for use in situations where the results will be used as a parameter to a method that takes a parameter whose type, such as `SOAPElement`, is drawn from the SAAJ API. When used in a transformation the results are populated into the `SOAPPart` of a `SOAPMessage` that is created internally. The `SOAPPart` returned by `DOMResult.getNode()` is not guaranteed to be well-formed.

      Parameters:
        `protocol` - - the name of the SOAP protocol that the resulting SAAJ tree should support
      Throws:
        `SOAPException` - if a `SOAPMessage` supporting the specified protocol cannot be created
      Since:
        1.6, SAAJ 1.3

    - #### SAAJResult

          public SAAJResult​(SOAPMessage message)

      Creates a `SAAJResult` that will write the results into the `SOAPPart` of the supplied `SOAPMessage`. In the normal case these results will be written using DOM APIs and, as a result, the finished `SOAPPart` will not be guaranteed to be well-formed unless the data used to create it is also well formed. When used in a transformation the validity of the `SOAPMessage` after the transformation can be guaranteed only by means outside SAAJ specification.
      Parameters:
        `message` - - the message whose `SOAPPart` will be populated as a result of some transformation or marshalling operation
      Since:
        1.6, SAAJ 1.3

    - #### SAAJResult

          public SAAJResult​(SOAPElement rootNode)

      Creates a `SAAJResult` that will write the results as a child node of the `SOAPElement` specified. In the normal case these results will be written using DOM APIs and as a result may invalidate the structure of the SAAJ tree. This kind of `SAAJResult` should only be used when the validity of the incoming data can be guaranteed by means outside of the SAAJ specification.
      Parameters:
        `rootNode` - - the root to which the results will be appended
      Since:
        1.6, SAAJ 1.3

  - ### Method Detail

    - #### getResult

          public Node getResult​()

      Returns:
        the resulting Tree that was created under the specified root Node.
      Since:
        1.6, SAAJ 1.3