Save This Page
Home » openjdk-7 » javax » xml » rpc » server » [javadoc | source]
    1   /*
    2    * Copyright 2001-2004 The Apache Software Foundation.
    3    * 
    4    * Licensed under the Apache License, Version 2.0 (the "License");
    5    * you may not use this file except in compliance with the License.
    6    * You may obtain a copy of the License at
    7    * 
    8    *      http://www.apache.org/licenses/LICENSE-2.0
    9    * 
   10    * Unless required by applicable law or agreed to in writing, software
   11    * distributed under the License is distributed on an "AS IS" BASIS,
   12    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   13    * See the License for the specific language governing permissions and
   14    * limitations under the License.
   15    */
   16   package javax.xml.rpc.server;
   17   
   18   import javax.servlet.ServletContext;
   19   import javax.servlet.http.HttpSession;
   20   import javax.xml.rpc.handler.MessageContext;
   21   import java.security.Principal;
   22   
   23   /**
   24    * The <code>ServletEndpointContext</code> provides an endpoint
   25    * context maintained by the underlying servlet container based
   26    * JAX-RPC runtime system. For service endpoints deployed on a
   27    * servlet container based JAX-RPC runtime system, the context
   28    * parameter in the <code>ServiceLifecycle.init</code> method is
   29    * required to be of the Java type
   30    * <code>javax.xml.rpc.server.ServletEndpointContext</code>.
   31    * <p>
   32    * A servlet container based JAX-RPC runtime system implements
   33    * the <code>ServletEndpointContext</code> interface. The JAX-RPC
   34    * runtime system is required to provide appropriate session,
   35    * message context, servlet context and user principal information
   36    * per method invocation on the endpoint class.
   37    *
   38    * @version 1.0
   39    */
   40   public interface ServletEndpointContext {
   41   
   42       /**
   43        * The method <code>getMessageContext</code> returns the
   44        * <code>MessageContext</code> targeted for this endpoint instance.
   45        * This enables the service endpoint instance to acccess the
   46        * <code>MessageContext</code> propagated by request
   47        * <code>HandlerChain</code> (and its contained <code>Handler</code>
   48        * instances) to the target endpoint instance and to share any
   49        * SOAP message processing related context. The endpoint instance
   50        * can access and manipulate the <code>MessageContext</code>
   51        * and share the SOAP message processing related context with
   52        * the response <code>HandlerChain</code>.
   53        *
   54        * @return MessageContext; If there is no associated
   55        *     <code>MessageContext</code>, this method returns
   56        *     <code>null</code>.
   57        * @throws java.lang.IllegalStateException if this method is invoked outside a
   58        * remote method implementation by a service endpoint instance.
   59        */
   60       public MessageContext getMessageContext();
   61   
   62       /**
   63        * Returns a <code>java.security.Principal</code> instance that
   64        * contains the name of the authenticated user for the current
   65        * method invocation on the endpoint instance. This method returns
   66        * <code>null</code> if there is no associated principal yet.
   67        * The underlying JAX-RPC runtime system takes the responsibility
   68        * of providing the appropriate authenticated principal for a
   69        * remote method invocation on the service endpoint instance.
   70        *
   71        * @return A <code>java.security.Principal</code> for the
   72        * authenticated principal associated with the current
   73        * invocation on the servlet endpoint instance;
   74        * Returns <code>null</code> if there no authenticated
   75        * user associated with a method invocation.
   76        */
   77       public Principal getUserPrincipal();
   78   
   79       /**
   80        * The <code>getHttpSession</code> method returns the current
   81        * HTTP session (as a <code>javax.servlet.http.HTTPSession</code>).
   82        * When invoked by the service endpoint within a remote method
   83        * implementation, the <code>getHttpSession</code> returns the
   84        * HTTP session associated currently with this method invocation.
   85        * This method returns <code>null</code> if there is no HTTP
   86        * session currently active and associated with this service
   87        * endpoint. An endpoint class should not rely on an active
   88        * HTTP session being always there; the underlying JAX-RPC
   89        * runtime system is responsible for managing whether or not
   90        * there is an active HTTP session.
   91        * <p>
   92        * The getHttpSession method throws <code>JAXRPCException</code>
   93        * if invoked by an non HTTP bound endpoint.
   94        *
   95        * @return The HTTP session associated with the current
   96        * invocation or <code>null</code> if there is no active session.
   97        * @throws javax.xml.rpc.JAXRPCException - If this method invoked by a non-HTTP bound
   98        *         endpoints.
   99        */
  100       public HttpSession getHttpSession();
  101   
  102       /**
  103        * The method <code>getServletContext</code> returns the
  104        * <code>ServletContex</code>t associated with the web
  105        * application that contain this endpoint. According to
  106        * the Servlet specification, There is one context per web
  107        * application (installed as a WAR) per JVM . A servlet
  108        * based service endpoint is deployed as part of a web
  109        * application.
  110        * 
  111        * @return the current <code>ServletContext</code>
  112        */
  113       public ServletContext getServletContext();
  114   
  115       public boolean isUserInRole(java.lang.String s);
  116   }

Save This Page
Home » openjdk-7 » javax » xml » rpc » server » [javadoc | source]