javax.xml.rpc.server

## Interface ServletEndpointContext

-     public interface ServletEndpointContext

  The `ServletEndpointContext` provides an endpoint context maintained by the underlying servlet container based JAX-RPC runtime system. For service endpoints deployed on a servlet container based JAX-RPC runtime system, the context parameter in the `ServiceLifecycle.init` method is required to be of the Java type `javax.xml.rpc.server.ServletEndpointContext`.

  A servlet container based JAX-RPC runtime system implements the `ServletEndpointContext` interface. The JAX-RPC runtime system is required to provide appropriate session, message context, servlet context and user principal information per method invocation on the endpoint class.

  Version:
    1.1
  Author:
    Rahul Sharma, Roberto Chinnici

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `HttpSession` | `getHttpSession()` The `getHttpSession` method returns the current HTTP session (as a `javax.servlet.http.HTTPSession`).
    `MessageContext` | `getMessageContext()` The method `getMessageContext` returns the `MessageContext` targeted for this endpoint instance.
    `ServletContext` | `getServletContext()` The method `getServletContext` returns the `ServletContex`t associated with the web application that contain this endpoint.
    `Principal` | `getUserPrincipal()` Returns a `java.security.Principal` instance that contains the name of the authenticated user for the current method invocation on the endpoint instance.
    `boolean` | `isUserInRole(String role)` Returns a boolean indicating whether the authenticated user for the current method invocation on the endpoint instance is included in the specified logical "role".

- - ### Method Detail

    - #### getMessageContext

          MessageContext getMessageContext()

      The method `getMessageContext` returns the `MessageContext` targeted for this endpoint instance. This enables the service endpoint instance to acccess the `MessageContext` propagated by request `HandlerChain` (and its contained `Handler` instances) to the target endpoint instance and to share any SOAP message processing related context. The endpoint instance can access and manipulate the `MessageContext` and share the SOAP message processing related context with the response `HandlerChain`.
      Returns:
        MessageContext; If there is no associated `MessageContext`, this method returns `null`.
      Throws:
        `IllegalStateException` - if this method is invoked outside a remote method implementation by a service endpoint instance.
      See Also:
        `MessageContext`, `HandlerChain`, `Handler`

    - #### getUserPrincipal

          Principal getUserPrincipal()

      Returns a `java.security.Principal` instance that contains the name of the authenticated user for the current method invocation on the endpoint instance. This method returns `null` if there is no associated principal yet. The underlying JAX-RPC runtime system takes the responsibility of providing the appropriate authenticated principal for a remote method invocation on the service endpoint instance.
      Returns:
        A `java.security.Principal` for the authenticated principal associated with the current invocation on the servlet endpoint instance; Returns `null` if there no authenticated user associated with a method invocation.
      See Also:
        `Principal`

    - #### getHttpSession

          HttpSession getHttpSession()

      The `getHttpSession` method returns the current HTTP session (as a `javax.servlet.http.HTTPSession`). When invoked by the service endpoint within a remote method implementation, the `getHttpSession` returns the HTTP session associated currently with this method invocation. This method returns `null` if there is no HTTP session currently active and associated with this service endpoint. An endpoint class should not rely on an active HTTP session being always there; the underlying JAX-RPC runtime system is responsible for managing whether or not there is an active HTTP session.

      The getHttpSession method throws `JAXRPCException` if invoked by an non HTTP bound endpoint.

      Returns:
        The HTTP session associated with the current invocation or `null` if there is no active session.
      Throws:
        `JAXRPCException` - If this method invoked by any non-HTTP bound endpoint
      See Also:
        `HttpSession`

    - #### getServletContext

          ServletContext getServletContext()

      The method `getServletContext` returns the `ServletContex`t associated with the web application that contain this endpoint. According to the Servlet specification, There is one context per web application (installed as a WAR) per JVM . A servlet based service endpoint is deployed as part of a web application.
      Returns:
        `ServletContext`
      See Also:
        `ServletContext`

    - #### isUserInRole

          boolean isUserInRole(String role)

      Returns a boolean indicating whether the authenticated user for the current method invocation on the endpoint instance is included in the specified logical "role".
      Parameters:
        `role` - a `String` specifying the name of the role
      Returns:
        a `boolean` indicating whether the authenticated user associated with the current method invocation belongs to a given role; `false` if the user has not been authenticated

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.