LogicalMessage (Java Platform SE 8 )
Keywords: javax.xml.ws.LogicalMessage interface
Date: 2026-03-29

javax.xml.ws

## Interface LogicalMessage

-     public interface LogicalMessage

  The `LogicalMessage` interface represents a protocol agnostic XML message and contains methods that provide access to the payload of the message.
  Since:
    JAX-WS 2.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Source` | `getPayload()` Gets the message payload as an XML source, may be called multiple times on the same LogicalMessage instance, always returns a new `Source` that may be used to retrieve the entire message payload.
    `Object` | `getPayload(JAXBContext context)` Gets the message payload as a JAXB object.
    `void` | `setPayload(Object payload, JAXBContext context)` Sets the message payload
    `void` | `setPayload(Source payload)` Sets the message payload

- - ### Method Detail

    - #### getPayload

          Source getPayload()

      Gets the message payload as an XML source, may be called multiple times on the same LogicalMessage instance, always returns a new `Source` that may be used to retrieve the entire message payload.

      If the returned `Source` is an instance of `DOMSource`, then modifications to the encapsulated DOM tree change the message payload in-place, there is no need to susequently call `setPayload`. Other types of `Source` provide only read access to the message payload.

      Returns:
        The contained message payload; returns `null` if no payload is present in this message.

    - #### setPayload

          void setPayload(Source payload)

      Sets the message payload
      Parameters:
        `payload` - message payload
      Throws:
        `WebServiceException` - If any error during the setting of the payload in this message
        `UnsupportedOperationException` - If this operation is not supported

    - #### getPayload

          Object getPayload(JAXBContext context)

      Gets the message payload as a JAXB object. Note that there is no connection between the returned object and the message payload, changes to the payload require calling `setPayload`.
      Parameters:
        `context` - The JAXBContext that should be used to unmarshall the message payload
      Returns:
        The contained message payload; returns `null` if no payload is present in this message
      Throws:
        `WebServiceException` - If an error occurs when using a supplied JAXBContext to unmarshall the payload. The cause of the WebServiceException is the original JAXBException.

    - #### setPayload

          void setPayload(Object payload,
                          JAXBContext context)

      Sets the message payload
      Parameters:
        `payload` - message payload
        `context` - The JAXBContext that should be used to marshall the payload
      Throws:
        `UnsupportedOperationException` - If this operation is not supported
        `WebServiceException` - If an error occurs when using the supplied JAXBContext to marshall the payload. The cause of the WebServiceException is the original JAXBException.

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.