| ServletEndpointContext.java |
/*
* JBoss, the OpenSource WebOS
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package javax.xml.rpc.server;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
import javax.xml.rpc.handler.MessageContext;
import java.security.Principal;
/**
* This interface 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.
*
* @author Scott.Stark@jboss.org
* @author Rahul Sharma, Roberto Chinnici (javadoc)
* @version $Revision: 1.2.8.1 $
*/
public interface ServletEndpointContext
{
/**
* 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.
*
* @return The HTTP session associated with the current invocation or null if there is no active session.
*/
public HttpSession getHttpSession();
/**
* 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.
*
* @return MessageContext; If there is no associated MessageContext, this method returns null.
*/
public MessageContext getMessageContext();
/**
* The method getServletContext returns the ServletContext 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.
* @return ServletContext
*/
public ServletContext getServletContext();
/**
* 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.
*
* @return 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.
*/
public Principal getUserPrincipal();
/**
* Returns a boolean indicating whether the authenticated user for the current method invocation on the endpoint
* instance is included in the specified logical "role".
*
* @param role a String specifying the name of the role
* @return 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
*/
public boolean isUserInRole(String role);
}
| ServletEndpointContext.java |