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_CLASSNAME, OPTION_CLASSPATH, OPTION_IS_STATIC
 
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 mName)
           
protected  java.lang.reflect.Method[] getMethod(MessageContext msgContext, JavaClass jc, java.lang.String mName)
           
protected  QName getParameterName(java.lang.Object obj, java.lang.reflect.Method method, int i, java.lang.String mName)
          Returns or creates the parameter name for the i'th parm of of the method specified.
protected  QName getParameterName(java.lang.Object obj, java.lang.reflect.Method method, int i, java.lang.String mName, java.util.Vector rpcParams)
          Returns or creates the parameter name for the i'th parm of of the method specified, using the name in the appropriate position of the rpcParams Vector if it is supplied.
protected  QName getReturnQName(ServiceDesc service, java.lang.String methodName)
           
protected  java.lang.Object invokeMethod(MessageContext msgContext, java.lang.reflect.Method method, java.lang.Object obj, java.lang.Object[] argValues)
           
 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, getNewServiceObject, getServiceClass, getServiceClassName, getServiceClassNameOptionName, getServiceObject, invoke
 
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, init, onFault, setName, setOption, 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
Description copied from class: JavaProvider
Process the current message. Side-effect resEnv to create return value.
Overrides:
processMessage in class JavaProvider
Following copied from class: org.apache.axis.providers.java.JavaProvider
Parameters:
msgContext - self-explanatory
clsName - 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

getMethod

protected java.lang.reflect.Method[] getMethod(MessageContext msgContext,
                                               JavaClass jc,
                                               java.lang.String mName)
                                        throws java.lang.Exception

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

checkMethodName

protected void checkMethodName(MessageContext msgContext,
                               java.lang.String allowedMethods,
                               java.lang.String mName)
                        throws java.lang.Exception

getParameterName

protected QName getParameterName(java.lang.Object obj,
                                 java.lang.reflect.Method method,
                                 int i,
                                 java.lang.String mName)
Returns or creates the parameter name for the i'th parm of of the method specified. (Use i=-1 to access the return name.)

getParameterName

protected QName getParameterName(java.lang.Object obj,
                                 java.lang.reflect.Method method,
                                 int i,
                                 java.lang.String mName,
                                 java.util.Vector rpcParams)
Returns or creates the parameter name for the i'th parm of of the method specified, using the name in the appropriate position of the rpcParams Vector if it is supplied. (Use i=-1 to access the return name.)

getReturnQName

protected QName getReturnQName(ServiceDesc service,
                               java.lang.String methodName)


Copyright © 2001 Apache XML Project. All Rights Reserved.