org.jboss.axis.providers.java
Class RPCProvider

java.lang.Object
  extended byorg.jboss.axis.handlers.BasicHandler (src) 
      extended byorg.jboss.axis.providers.BasicProvider (src) 
          extended byorg.jboss.axis.providers.java.JavaProvider (src) 
              extended byorg.jboss.axis.providers.java.RPCProvider
All Implemented Interfaces:
Handler (src)
Direct Known Subclasses:
EJBHomeProvider (src) , EJBProvider (src) , InvokerProvider (src) , InvokerProviderSimple (src)

public class RPCProvider
extends JavaProvider (src)

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


Field Summary
static java.lang.String RPC_INVOCATION
          The key for the invocation object in the MessageContext
 
Fields inherited from class org.jboss.axis.providers.java.JavaProvider (src)
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.jboss.axis.handlers.BasicHandler (src)
makeLockable, name, options
 
Constructor Summary
RPCProvider()
           
 
Method Summary
protected  void checkMethodName(MessageContext (src)  msgContext, java.lang.String allowedMethods, java.lang.String methodName)
          Throw an AxisFault if the requested method is not allowed.
 RPCInvocation (src) createRPCInvocation(MessageContext (src)  msgContext, SOAPEnvelopeAxisImpl (src)  reqEnv, SOAPEnvelopeAxisImpl (src)  resEnv, java.lang.Object obj)
           
protected  java.lang.Object invokeMethod(MessageContext (src)  msgContext, java.lang.reflect.Method method, java.lang.Object obj, java.lang.Object[] argValues)
          This method encapsulates the method invocation.
protected  java.lang.Object invokeTarget(RPCInvocation (src)  invocation)
          Unwraps the invocation and calls invokeMethod
 void processMessage(MessageContext (src)  msgContext, SOAPEnvelopeAxisImpl (src)  reqEnv, SOAPEnvelopeAxisImpl (src)  resEnv, java.lang.Object obj)
          Process the current message.
 
Methods inherited from class org.jboss.axis.providers.java.JavaProvider (src)
generateWSDL, getServiceClass, getServiceClassName, getServiceClassNameOptionName, getServiceObject, initServiceDesc, invoke, makeNewServiceObject, processException
 
Methods inherited from class org.jboss.axis.providers.BasicProvider (src)
addOperation, getOperationName, getOperationNames, getOperationQNames
 
Methods inherited from class org.jboss.axis.handlers.BasicHandler (src)
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

RPC_INVOCATION

public static final java.lang.String RPC_INVOCATION
The key for the invocation object in the MessageContext

See Also:
Constant Field Values (src)
Constructor Detail

RPCProvider

public RPCProvider()
Method Detail

processMessage

public void processMessage(MessageContext (src)  msgContext,
                           SOAPEnvelopeAxisImpl (src)  reqEnv,
                           SOAPEnvelopeAxisImpl (src)  resEnv,
                           java.lang.Object obj)
                    throws java.lang.Exception
Process the current message. Result in resEnv.

Specified by:
processMessage in class JavaProvider (src)
Parameters:
msgContext - self-explanatory
reqEnv - the request envelope
resEnv - the response envelope
obj - the service object itself
Throws:
java.lang.Exception

createRPCInvocation

public RPCInvocation (src)  createRPCInvocation(MessageContext (src)  msgContext,
                                         SOAPEnvelopeAxisImpl (src)  reqEnv,
                                         SOAPEnvelopeAxisImpl (src)  resEnv,
                                         java.lang.Object obj)

invokeTarget

protected java.lang.Object invokeTarget(RPCInvocation (src)  invocation)
                                 throws java.lang.Exception
Unwraps the invocation and calls invokeMethod

Parameters:
invocation - The invocation
Returns:
Return value from invokeMethod
Throws:
java.lang.Exception - Any client Exception

invokeMethod

protected java.lang.Object invokeMethod(MessageContext (src)  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
Throws:
java.lang.Exception

checkMethodName

protected void checkMethodName(MessageContext (src)  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
Throws:
java.lang.Exception