Class RPCProvider

  • All Implemented Interfaces:
    java.io.Serializable, Handler
    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 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
        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
        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 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