WebServiceContext (Java SE 10 & JDK 10 )
Keywords: javax.xml.ws.WebServiceContext interface

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

## Interface WebServiceContext

-     public interface WebServiceContext

  A `WebServiceContext` makes it possible for a web service endpoint implementation class to access message context and security information relative to a request being served. Typically a `WebServiceContext` is injected into an endpoint implementation class using the `Resource` annotation.
  Since:
    1.6, JAX-WS 2.0
  See Also:
    `Resource`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T extends EndpointReference> T` | `getEndpointReference​(Class<T> clazz, Element... referenceParameters)` | Returns the `EndpointReference` associated with this endpoint.
    `EndpointReference` | `getEndpointReference​(Element... referenceParameters)` | Returns the `EndpointReference` for this endpoint.
    `MessageContext` | `getMessageContext()` | Returns the `MessageContext` for the request being served at the time this method is called.
    `Principal` | `getUserPrincipal()` | Returns the Principal that identifies the sender of the request currently being serviced.
    `boolean` | `isUserInRole​(String role)` | Returns a boolean indicating whether the authenticated user is included in the specified logical role.

- - ### Method Detail

    - #### getMessageContext

          MessageContext getMessageContext()

      Returns the `MessageContext` for the request being served at the time this method is called. Only properties with APPLICATION scope will be visible to the application.
      Returns:
        MessageContext The message context.
      Throws:
        `IllegalStateException` - This exception is thrown if the method is called while no request is being serviced.
      See Also:
        `MessageContext`, `MessageContext.Scope`, `IllegalStateException`

    - #### getUserPrincipal

          Principal getUserPrincipal()

      Returns the Principal that identifies the sender of the request currently being serviced. If the sender has not been authenticated, the method returns `null`.
      Returns:
        Principal The principal object.
      Throws:
        `IllegalStateException` - This exception is thrown if the method is called while no request is being serviced.
      See Also:
        `Principal`, `IllegalStateException`

    - #### isUserInRole

          boolean isUserInRole​(String role)

      Returns a boolean indicating whether the authenticated user is included in the specified logical role. If the user has not been authenticated, the method returns `false`.
      Parameters:
        `role` - A `String` specifying the name of the role
      Returns:
        a `boolean` indicating whether the sender of the request belongs to a given role
      Throws:
        `IllegalStateException` - This exception is thrown if the method is called while no request is being serviced.

    - #### getEndpointReference

          EndpointReference getEndpointReference​(Element... referenceParameters)

      Returns the `EndpointReference` for this endpoint.

      If the `Binding` for this `bindingProvider` is either SOAP1.1/HTTP or SOAP1.2/HTTP, then a `W3CEndpointReference` MUST be returned.

      Parameters:
        `referenceParameters` - Reference parameters to be associated with the returned `EndpointReference` instance.
      Returns:
        EndpointReference of the endpoint associated with this `WebServiceContext`. If the returned `EndpointReference` is of type `W3CEndpointReference` then it MUST contain the the specified `referenceParameters`.
      Throws:
        `IllegalStateException` - This exception is thrown if the method is called while no request is being serviced.
      Since:
        1.6, JAX-WS 2.1
      See Also:
        `W3CEndpointReference`

    - #### getEndpointReference

          <T extends EndpointReference> T getEndpointReference​(Class<T> clazz,
                                                               Element... referenceParameters)

      Returns the `EndpointReference` associated with this endpoint.
      Type Parameters:
        `T` - The type of `EndpointReference`.
      Parameters:
        `clazz` - The type of `EndpointReference` that MUST be returned.
        `referenceParameters` - Reference parameters to be associated with the returned `EndpointReference` instance.
      Returns:
        EndpointReference of type `clazz` of the endpoint associated with this `WebServiceContext` instance. If the returned `EndpointReference` is of type `W3CEndpointReference` then it MUST contain the the specified `referenceParameters`.
      Throws:
        `IllegalStateException` - This exception is thrown if the method is called while no request is being serviced.
        `WebServiceException` - If the `clazz` type of `EndpointReference` is not supported.
      Since:
        1.6, JAX-WS 2.1