## 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:
  CORBAProvider, EJBProvider, RMIProvider

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
`entLog, OPTION_ALLOWEDMETHODS, OPTION_CLASSNAME, OPTION_CLASSPATH, OPTION_IS_STATIC, OPTION_SCOPE, OPTION_WSDL_INPUTSCHEMA, OPTION_WSDL_PORTTYPE, OPTION_WSDL_SERVICEELEMENT, OPTION_WSDL_SERVICEPORT, OPTION_WSDL_TARGETNAMESPACE`

Fields inherited from class org.apache.axis.handlers.BasicHandler
`makeLockable, 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, SOAPEnvelope reqEnv, SOAPEnvelope resEnv, java.lang.Object obj)` Process the current message.

Methods inherited from class org.apache.axis.providers.java.JavaProvider
`generateWSDL, getServiceClass, getServiceClassName, getServiceClassNameOptionName, getServiceObject, initServiceDesc, 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, setOptionsLockable`

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,
                               SOAPEnvelope reqEnv,
                               SOAPEnvelope resEnv,
                               java.lang.Object obj)
                        throws java.lang.Exception

  Process the current message. Result in resEnv.

  Specified by:
    `processMessage` in class `JavaProvider`
  Parameters:
    `msgContext` - self-explanatory
    `reqEnv` - the request envelope
    `resEnv` - the response envelope
    `obj` - the service object itself
    `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

  This method encapsulates the method invocation.

  Parameters:
    `msgContext` - MessageContext
    `method` - the target method.
    `obj` - the target object
    `argValues` - the method arguments
    `java.lang.Exception`

### 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:
    `msgContext` - MessageContext
    `allowedMethods` - list of allowed methods
    `methodName` - name of target method
    `java.lang.Exception`

Copyright © 2003 Apache Web Services Project. All Rights Reserved.