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);
}