org.apache.axis.providers.java
Class RPCProvider

java.lang.Object
  |
  +--org.apache.axis.handlers.BasicHandler
        |
        +--org.apache.axis.providers.BasicProvider
              |
              +--org.apache.axis.providers.java.JavaProvider
                    |
                    +--org.apache.axis.providers.java.RPCProvider
All Implemented Interfaces:
Handler, java.io.Serializable
Direct Known Subclasses:
EJBProvider

public class RPCProvider
extends JavaProvider

Implement message processing by walking over RPCElements of the envelope body, invoking the appropriate methods on the service object.

Author:
Doug Davis (dug@us.ibm.com)
See Also:
Serialized Form

Field Summary
protected static org.apache.commons.logging.Log log
           
 
Fields inherited from class org.apache.axis.providers.java.JavaProvider
OPTION_ALLOWEDMETHODS, OPTION_CLASSNAME, OPTION_CLASSPATH, OPTION_IS_STATIC, OPTION_SCOPE, OPTION_WSDL_PORTTYPE, OPTION_WSDL_SERVICEELEMENT, OPTION_WSDL_SERVICEPORT, OPTION_WSDL_TARGETNAMESPACE
 
Fields inherited from class org.apache.axis.handlers.BasicHandler
name, options
 
Constructor Summary
RPCProvider()
           
 
Method Summary
protected  void checkMethodName(MessageContext msgContext, java.lang.String allowedMethods, java.lang.String methodName)
          Throw an AxisFault if the requested method is not allowed.
protected  java.lang.Object invokeMethod(MessageContext msgContext, java.lang.reflect.Method method, java.lang.Object obj, java.lang.Object[] argValues)
          This method encapsulates the method invocation.
 void processMessage(MessageContext msgContext, java.lang.String serviceName, java.lang.String allowedMethods, SOAPEnvelope reqEnv, SOAPEnvelope resEnv, JavaClass jc, java.lang.Object obj)
          Process the current message.
 
Methods inherited from class org.apache.axis.providers.java.JavaProvider
generateWSDL, getConfiguration, getServiceClass, getServiceClassName, getServiceClassNameOptionName, getServiceObject, invoke, makeNewServiceObject
 
Methods inherited from class org.apache.axis.providers.BasicProvider
addOperation, getOperationName, getOperationNames, getOperationQNames
 
Methods inherited from class org.apache.axis.handlers.BasicHandler
canHandleBlock, cleanup, getDeploymentData, getName, getOption, getOptions, getUnderstoodHeaders, init, initHashtable, onFault, setName, setOption, setOptionDefault, setOptions
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static org.apache.commons.logging.Log log
Constructor Detail

RPCProvider

public RPCProvider()
Method Detail

processMessage

public void processMessage(MessageContext msgContext,
                           java.lang.String serviceName,
                           java.lang.String allowedMethods,
                           SOAPEnvelope reqEnv,
                           SOAPEnvelope resEnv,
                           JavaClass jc,
                           java.lang.Object obj)
                    throws java.lang.Exception
Process the current message. Result in resEnv.
Overrides:
processMessage in class JavaProvider
Parameters:
msgContext - self-explanatory
serviceName - the class name of the ServiceHandler
allowedMethods - the 'method name' of ditto
reqEnv - the request envelope
resEnv - the response envelope
jc - the JavaClass of the service object
obj - the service object itself

invokeMethod

protected java.lang.Object invokeMethod(MessageContext msgContext,
                                        java.lang.reflect.Method method,
                                        java.lang.Object obj,
                                        java.lang.Object[] argValues)
                                 throws java.lang.Exception
This method encapsulates the method invocation.
Parameters:
MessageContext -  
Method - is the target method.
Object - is the target object
Object[] - are the method arguments

checkMethodName

protected void checkMethodName(MessageContext msgContext,
                               java.lang.String allowedMethods,
                               java.lang.String methodName)
                        throws java.lang.Exception
Throw an AxisFault if the requested method is not allowed.
Parameters:
MessageContext -  
String - list of allowed methods
String - name of target method


Copyright © 2002 Apache XML Project. All Rights Reserved.