You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2002/03/28 21:29:48 UTC

cvs commit: xml-axis/java/src/javax/xml/rpc/handler Handler.java HandlerChain.java HandlerInfo.java HandlerRegistry.java

butek       02/03/28 12:29:48

  Modified:    java     TODO.txt
               java/src/javax/xml/rpc/handler Handler.java
                        HandlerChain.java HandlerInfo.java
                        HandlerRegistry.java
  Log:
  Updated javax.xml.rpc.handler interfaces/class to JAX-RPC 0.8.
  
  Revision  Changes    Path
  1.33      +2 -0      xml-axis/java/TODO.txt
  
  Index: TODO.txt
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/TODO.txt,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- TODO.txt	27 Mar 2002 20:24:06 -0000	1.32
  +++ TODO.txt	28 Mar 2002 20:29:48 -0000	1.33
  @@ -22,6 +22,8 @@
   ! <> Implement Service.getHandlerRegistry() method.
   ! <> Implement ServiceFactory.createService methods.
   ! <> Implement TypeMapping and TypeMappingRegistry ala JAX-RPC 0.8
  +! <> Implement Handler code ala JAX-RPC 0.8
  +! <> Once we get word that javax.xml.rpc.encoding.XMLType is a real class (it's in the JAX-RPC javadocs but not in the spec) then replace all the constants in org.apache.axis.encoding.XMLType with the JAX-RPC constants.
   
   SOAP 1.2 SUPPORT
   ----------------
  
  
  
  1.2       +64 -29    xml-axis/java/src/javax/xml/rpc/handler/Handler.java
  
  Index: Handler.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/javax/xml/rpc/handler/Handler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Handler.java	29 Jan 2002 01:52:45 -0000	1.1
  +++ Handler.java	28 Mar 2002 20:29:48 -0000	1.2
  @@ -55,10 +55,7 @@
   
   package javax.xml.rpc.handler;
   
  -import java.util.Map;
  -
  -import javax.xml.rpc.JAXRPCException;
  -import javax.xml.rpc.soap.SOAPFault;
  +import javax.xml.rpc.namespace.QName;
   
   /**
    * A handler provides a mechanism for processing of service
  @@ -70,31 +67,62 @@
   public interface Handler {
   
       /**
  -     * The handle method performs the actual processing work for
  -     * a handler. An implementation class for the Handler interface
  -     * is required to provide a default constructor.
  -     *  @param   context MessageContext parameter provides access to
  -     *            the message context (for example: SOAP message
  -     *            that carries an RPC request) that is processed
  -     *            by a handler.
  -     *  @throws  JAXRPCException if any handler specific processing
  -     *            error happens
  -     *  @throws  SOAPFault if SOAP fault is generated by this handler
  -     */
  -    public abstract void handle(MessageContext context)
  -        throws JAXRPCException, SOAPFault;
  -
  -    /**
  -     * The init method to enable the Handler instance to initialize
  -     * itself. The init method passes the handler configuration
  -     * properties as a Map instance. These configuration properties
  -     * are used to configure the Handler (for example: setup access
  -     * to an external resource or service) during initialization.
  -     *  @param   config Configuration parameters for initialization of
  -     *          handler
  -     *  @throws  JAXRPCException If initialization of the handler fails
  +     * The handleRequest method processes the request message.
  +     *
  +     * @param context - MessageContext parameter provides access to the request
  +     *                  message.
  +     *
  +     * @throws JAXRPCException - if any handler specific runtime error happens.
  +     *         The HandlerChain terminates the further processing of this
  +     *         handler chain.
  +     *         SOAPFaultException - if SOAP fault is generated by this handler.
  +     *         The HandlerChain catches this exception, terminates the further
  +     *         processing of the request handlers in this handler chain and
  +     *         invokes the handleFault method on this handler
  +     */
  +    public boolean handleRequest(MessageContext context);
  +
  +    /**
  +     * The handleResponse method processes the response message.
  +     *
  +     * @param context - MessageContext parameter provides access to the response
  +     *                  message
  +     *
  +     * @return Processing mode.  Return true to indicate continued processing of
  +     *         the response handler chain. The HandlerChain invokes the
  +     *         handleRespons method on the next Handler in the handler chain. 
  +     *         Return false to indicate blocking of the response handler chain.
  +     *         In this  case, no other response handlers in the handler chain
  +     *         are invoked.
  +     *
  +     * @throws JAXRPCException - if any handler specific runtime error happens.
  +     *         The HandlerChain terminates the further processing of this handler
  +     *         chain.
  +     */
  +    public boolean handleResponse(MessageContext context);
  +
  +    /**
  +     * The handleFault method processes the SOAP faults based on the SOAP
  +     * message processing model.
  +     *
  +     * @param  context - MessageContext parameter provides access to the SOAP
  +     *         message.
  +     * @throws JAXRPCException - if any handler specific runtime error
        */
  -    public abstract void init(Map config) throws JAXRPCException;
  +    public void handleFault(MessageContext context);
  +
  +    /**
  +     * The init method to enable the Handler instance to initialize itself. The
  +     * init method passes the handler configuration properties as a Map
  +     * instance. These configuration properties are used to configure the
  +     * Handler (for example: setup access to an external resource or service)
  +     * during initialization.
  +     *
  +     * @param HandlerInfo - Configuration for the initialization of this handler
  +     *
  +     * @throws JAXRPCException - If initialization of the handler fails
  +     */
  +    public abstract void init(HandlerInfo config);
   
       /**
        * The destroy method indicates the end of lifecycle for a Handler
  @@ -104,5 +132,12 @@
        * instance is no longer needed.
        * @throws  JAXRPCException  If any error during destroy
        */
  -    public abstract void destroy() throws JAXRPCException;
  +    public abstract void destroy();
  +
  +    /**
  +     * Gets the header blocks processed by this Handler instance.
  +     *
  +     * @return The header blocks.
  +     */
  +    public QName[] getHeaders();
   }
  
  
  
  1.2       +61 -1     xml-axis/java/src/javax/xml/rpc/handler/HandlerChain.java
  
  Index: HandlerChain.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/javax/xml/rpc/handler/HandlerChain.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HandlerChain.java	29 Jan 2002 01:52:45 -0000	1.1
  +++ HandlerChain.java	28 Mar 2002 20:29:48 -0000	1.2
  @@ -56,6 +56,7 @@
   package javax.xml.rpc.handler;
   
   import java.util.List;
  +import java.util.Map;
   
   /**
    * The <code>javax.xml.rpc.handler.HandlerChain</code> represents an
  @@ -65,4 +66,63 @@
    * the policy and mechanism for the invocation of the registered
    * handlers.
    */
  -public interface HandlerChain extends Handler, List {}
  +public interface HandlerChain extends List {
  +
  +    /**
  +     * The handleRequest method initiates the request processing for this
  +     * handler chain.
  +     * @param context - MessageContext parameter provides access to the request
  +     *                  SOAP message.
  +     *
  +     * @throws JAXRPCException - if any processing error happens
  +     */
  +    public void handleRequest(MessageContext context);
  +
  +    /**
  +     * The handleResponse method initiates the response processing for this
  +     * handler chain.
  +     *
  +     * @param context - MessageContext parameter provides access to the response
  +     *                  SOAP message.
  +     *
  +     * @throws JAXRPCException - if any processing error happens
  +     */
  +    public void handleResponse(MessageContext context);
  +
  +    /**
  +     * Initializes the configuration for a HandlerChain.
  +     *
  +     * @param config - Configuration for the initialization of this handler
  +     *                 chain
  +     *
  +     * @throws JAXRPCException - If any error during initialization
  +     */
  +    public void init(Map config);
  +
  +    /**
  +     * Indicates the end of lifecycle for a HandlerChain.
  +     *
  +     * @throws JAXRPCException - If any error during destroy
  +     */
  +    public void destroy();
  +
  +    /**
  +     * Sets SOAP Actor roles for this HandlerChain. This specifies the set of
  +     * roles in which this HandlerChain is to act for the SOAP message
  +     * processing at this SOAP node. These roles assumed by a HandlerChain must
  +     * be invariant during the processing of an individual SOAP message.
  +     * <p>
  +     * A HandlerChain always acts in the role of the special SOAP actor next.
  +     * Refer to the SOAP specification for the URI name for this special SOAP
  +     * actor. There is no need to set this special role using this method.
  +     *
  +     * @param soapActorNames - URIs for SOAP actor name
  +     */
  +    public void setRoles(String[] soapActorNames);
  +
  +    /**
  +     * Gets SOAP actor roles registered for this HandlerChain at this SOAP node.
  +     * The returned array includes the special SOAP actor next.
  +     */
  +    public java.lang.String[] getRoles();
  +}
  
  
  
  1.2       +24 -1     xml-axis/java/src/javax/xml/rpc/handler/HandlerInfo.java
  
  Index: HandlerInfo.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/javax/xml/rpc/handler/HandlerInfo.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HandlerInfo.java	29 Jan 2002 01:52:45 -0000	1.1
  +++ HandlerInfo.java	28 Mar 2002 20:29:48 -0000	1.2
  @@ -60,6 +60,8 @@
   import java.util.HashMap;
   import java.util.Map;
   
  +import javax.xml.rpc.namespace.QName;
  +
   /**
    * The <code>javax.xml.rpc.handler.HandlerInfo</code> represents
    * information about a handler in the HandlerChain. All elements
  @@ -79,10 +81,14 @@
        *  <p>
        *  @param  handlerClass Class for the Handler
        *  @param  config Handler Configuration as a java.util.Map
  +     *  @param  headers QNames for the header blocks processed
  +     *          by this Handler.  QName is the qualified name
  +     *          of the outermost element of a header block
        */
  -    public HandlerInfo(Class handlerClass, Map config) {
  +    public HandlerInfo(Class handlerClass, Map config, QName[] headers) {
           this.handlerClass = handlerClass;
           this.config = config;
  +        this.headers = headers;
       }
   
       /**
  @@ -119,9 +125,26 @@
           return config;
       }
   
  +    /**
  +     * Set the header blocks.
  +     */
  +    public void setHeaders(QName[] headers) {
  +        this.headers = headers;
  +    }
  +
  +    /**
  +     * Get the header blocks.
  +     */
  +    public QName[] getHeaders() {
  +        return headers;
  +    }
  +
       /** Handler Class */
       private Class handlerClass;
   
       /** Configuration Map */
       private Map config;
  +
  +    /** headers */
  +    private QName[] headers;
   }
  
  
  
  1.2       +6 -29     xml-axis/java/src/javax/xml/rpc/handler/HandlerRegistry.java
  
  Index: HandlerRegistry.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/javax/xml/rpc/handler/HandlerRegistry.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HandlerRegistry.java	29 Jan 2002 01:52:45 -0000	1.1
  +++ HandlerRegistry.java	28 Mar 2002 20:29:48 -0000	1.2
  @@ -57,7 +57,6 @@
   
   import java.io.Serializable;
   
  -import javax.xml.rpc.JAXRPCException;
   import javax.xml.rpc.namespace.QName;
   
   /**
  @@ -68,15 +67,17 @@
   public interface HandlerRegistry extends Serializable {
   
       /**
  -     *  Gets the request HandlerChain for the specified service endpoint.
  +     * Gets the handler chain for the specified service endpoint. The returned
  +     * List is used to configure this specific handler chain in this
  +     * HandlerRegistry.
        *  @param   portName Qualified name of the target service
        *  @return  HandlerChain Returns the registered HandlerChain;
        *  @throws java.lang.IllegalArgumentException If an invalid portName is specified
        */
  -    public abstract HandlerChain getRequestHandlerChain(QName portName);
  +    public HandlerChain getHandlerChain(QName portName);
   
       /**
  -     *  Sets the request HandlerChain for the specified service endpoint.
  +     *  Sets the handler chain for the specified service endpoint.
        *  @param   portName Qualified name of the target service endpoint
        *  @param   chain Request HandlerChain instance
        *  @throws  JAXRPCException If any error in the setting of
  @@ -89,29 +90,5 @@
        *     portName is specified
        */
       public abstract void setRequestHandlerChain(
  -        QName portName, HandlerChain chain) throws JAXRPCException;
  -
  -    /**
  -     *  Gets the response HandlerChain for the specified service endpoint.
  -     *  @param   portName  Qualified name of the target service endpoint
  -     *  @return   HandlerChain Returns the registered HandlerChain;
  -     *  @throws java.lang.IllegalArgumentException If an invalid portName is specified
  -     */
  -    public abstract HandlerChain getResponseHandlerChain(QName portName);
  -
  -    /**
  -     *  Sets the response HandlerChain for the specified service endpoint.
  -     *  @param   portName Qualified name of the target service endpoint
  -     *  @param   chain Response HandlerChain instance.
  -     *  @throws  JAXRPCException  If any error in the setting of
  -     *            the HandlerChain
  -     *  @throws java.lang.UnsupportedOperationException  If this
  -     *     set operation is not supported. This is done to
  -     *     avoid any overriding of a pre-configured handler
  -     *     chain.
  -     *  @throws java.lang.IllegalArgumentException If an invalid
  -     *    portName is specified
  -     */
  -    public abstract void setResponseHandlerChain(
  -        QName portName, HandlerChain chain) throws JAXRPCException;
  +            QName portName, HandlerChain chain);
   }