MessageContext (Java SE 9 & JDK 9 )
Keywords: javax.xml.ws.handler.MessageContext interface

Module java.xml.ws
Package javax.xml.ws.handler

## Interface MessageContext

- All Superinterfaces:
    `Map<String,Object>`
  All Known Subinterfaces:
    `LogicalMessageContext`, `SOAPMessageContext`

      public interface MessageContext
      extends Map<String,Object>

  The interface `MessageContext` abstracts the message context that is processed by a handler in the `handle` method.

  The `MessageContext` interface provides methods to manage a property set. `MessageContext` properties enable handlers in a handler chain to share processing related state.

  Since:
    1.6, JAX-WS 2.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `MessageContext.Scope` | Property scope.

    - ### Nested classes/interfaces inherited from interface java.util.Map

      `Map.Entry<K,V>`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `HTTP_REQUEST_HEADERS` | Standard property: HTTP request headers.
    `static String` | `HTTP_REQUEST_METHOD` | Standard property: HTTP request method.
    `static String` | `HTTP_RESPONSE_CODE` | Standard property: HTTP response status code.
    `static String` | `HTTP_RESPONSE_HEADERS` | Standard property: HTTP response headers.
    `static String` | `INBOUND_MESSAGE_ATTACHMENTS` | Standard property: Map of attachments to a message for the inbound message, key is the MIME Content-ID, value is a DataHandler.
    `static String` | `MESSAGE_OUTBOUND_PROPERTY` | Standard property: message direction, `true` for outbound messages, `false` for inbound.
    `static String` | `OUTBOUND_MESSAGE_ATTACHMENTS` | Standard property: Map of attachments to a message for the outbound message, key is the MIME Content-ID, value is a DataHandler.
    `static String` | `PATH_INFO` | Standard property: Request Path Info
    `static String` | `QUERY_STRING` | Standard property: Query string for request.
    `static String` | `REFERENCE_PARAMETERS` | Standard property: WS Addressing Reference Parameters.
    `static String` | `SERVLET_CONTEXT` | Standard property: servlet context object.
    `static String` | `SERVLET_REQUEST` | Standard property: servlet request object.
    `static String` | `SERVLET_RESPONSE` | Standard property: servlet response object.
    `static String` | `WSDL_DESCRIPTION` | Standard property: input source for WSDL document.
    `static String` | `WSDL_INTERFACE` | Standard property: name of wsdl interface (2.0) or port type (1.1).
    `static String` | `WSDL_OPERATION` | Standard property: name of WSDL operation.
    `static String` | `WSDL_PORT` | Standard property: name of WSDL port.
    `static String` | `WSDL_SERVICE` | Standard property: name of WSDL service.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `MessageContext.Scope` | `getScope​(String name)` | Gets the scope of a property.
    `void` | `setScope​(String name, MessageContext.Scope scope)` | Sets the scope of a property.

    - ### Methods inherited from interface java.util.Map

      `clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entry, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, of, of, of, of, of, of, of, of, of, of, of, ofEntries, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values`

- - ### Field Detail

    - #### MESSAGE_OUTBOUND_PROPERTY

          static final String MESSAGE_OUTBOUND_PROPERTY

      Standard property: message direction, `true` for outbound messages, `false` for inbound.

      Type: boolean

      See Also:
        Constant Field Values

    - #### INBOUND_MESSAGE_ATTACHMENTS

          static final String INBOUND_MESSAGE_ATTACHMENTS

      Standard property: Map of attachments to a message for the inbound message, key is the MIME Content-ID, value is a DataHandler.

      Type: `java.util.Map<String, DataHandler>`

      See Also:
        Constant Field Values

    - #### OUTBOUND_MESSAGE_ATTACHMENTS

          static final String OUTBOUND_MESSAGE_ATTACHMENTS

      Standard property: Map of attachments to a message for the outbound message, key is the MIME Content-ID, value is a DataHandler.

      Type: `java.util.Map<String, DataHandler>`

      See Also:
        Constant Field Values

    - #### WSDL_DESCRIPTION

          static final String WSDL_DESCRIPTION

      Standard property: input source for WSDL document.

      Type: org.xml.sax.InputSource

      See Also:
        Constant Field Values

    - #### WSDL_SERVICE

          static final String WSDL_SERVICE

      Standard property: name of WSDL service.

      Type: javax.xml.namespace.QName

      See Also:
        Constant Field Values

    - #### WSDL_PORT

          static final String WSDL_PORT

      Standard property: name of WSDL port.

      Type: javax.xml.namespace.QName

      See Also:
        Constant Field Values

    - #### WSDL_INTERFACE

          static final String WSDL_INTERFACE

      Standard property: name of wsdl interface (2.0) or port type (1.1).

      Type: javax.xml.namespace.QName

      See Also:
        Constant Field Values

    - #### WSDL_OPERATION

          static final String WSDL_OPERATION

      Standard property: name of WSDL operation.

      Type: javax.xml.namespace.QName

      See Also:
        Constant Field Values

    - #### HTTP_RESPONSE_CODE

          static final String HTTP_RESPONSE_CODE

      Standard property: HTTP response status code.

      Type: java.lang.Integer

      See Also:
        Constant Field Values

    - #### HTTP_REQUEST_HEADERS

          static final String HTTP_REQUEST_HEADERS

      Standard property: HTTP request headers.

      Type: `java.util.Map<java.lang.String, java.util.List<java.lang.String>>`

      See Also:
        Constant Field Values

    - #### HTTP_RESPONSE_HEADERS

          static final String HTTP_RESPONSE_HEADERS

      Standard property: HTTP response headers.

      Type: `java.util.Map<java.lang.String, java.util.List<java.lang.String>>`

      See Also:
        Constant Field Values

    - #### HTTP_REQUEST_METHOD

          static final String HTTP_REQUEST_METHOD

      Standard property: HTTP request method.

      Type: java.lang.String

      See Also:
        Constant Field Values

    - #### SERVLET_REQUEST

          static final String SERVLET_REQUEST

      Standard property: servlet request object.

      Type: javax.servlet.http.HttpServletRequest

      See Also:
        Constant Field Values

    - #### SERVLET_RESPONSE

          static final String SERVLET_RESPONSE

      Standard property: servlet response object.

      Type: javax.servlet.http.HttpServletResponse

      See Also:
        Constant Field Values

    - #### SERVLET_CONTEXT

          static final String SERVLET_CONTEXT

      Standard property: servlet context object.

      Type: javax.servlet.ServletContext

      See Also:
        Constant Field Values

    - #### QUERY_STRING

          static final String QUERY_STRING

      Standard property: Query string for request.

      Type: String

      See Also:
        Constant Field Values

    - #### PATH_INFO

          static final String PATH_INFO

      Standard property: Request Path Info

      Type: String

      See Also:
        Constant Field Values

    - #### REFERENCE_PARAMETERS

          static final String REFERENCE_PARAMETERS

      Standard property: WS Addressing Reference Parameters. The list MUST include all SOAP headers marked with the wsa:IsReferenceParameter="true" attribute.

      Type: `List<Element>`

      Since:
        1.6, JAX-WS 2.1
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### setScope

          void setScope​(String name,
                        MessageContext.Scope scope)

      Sets the scope of a property.
      Parameters:
        `name` - Name of the property associated with the `MessageContext`
        `scope` - Desired scope of the property
      Throws:
        `IllegalArgumentException` - if an illegal property name is specified

    - #### getScope

          MessageContext.Scope getScope​(String name)

      Gets the scope of a property.
      Parameters:
        `name` - Name of the property
      Returns:
        Scope of the property
      Throws:
        `IllegalArgumentException` - if a non-existant property name is specified