## org.apache.axis.message
Class RPCHandler

    java.lang.Object
      org.xml.sax.helpers.DefaultHandler
          org.apache.axis.message.SOAPHandler
              org.apache.axis.message.RPCHandler

All Implemented Interfaces:
  org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

public class RPCHandler
extends SOAPHandler

This is the SOAPHandler which is called for each RPC parameter as we're deserializing the XML for a method call or return. In other words for this XML: <methodName> Hello! <param2>3.14159</param2> </methodName> ...we'll get onStartChild() events for <param1> and <param2>.

Author:
  Glen Daniels (gdaniels@apache.org)

Field Summary
`protected static org.apache.commons.logging.Log` `log`

Fields inherited from class org.apache.axis.message.SOAPHandler
`myElement`

Constructor Summary
`RPCHandler(RPCElement rpcElem, boolean isResponse)`

Method Summary
`void` `endElement(java.lang.String namespace, java.lang.String localName, DeserializationContext context)`
`SOAPHandler` `onStartChild(java.lang.String namespace, java.lang.String localName, java.lang.String prefix, org.xml.sax.Attributes attributes, DeserializationContext context)` Register the start of a parameter (child element of the method call element).
`void` `setHeaderElement(boolean value)` Indicate RPCHandler is processing header elements
`void` `setOperation(OperationDesc myOperation)`
`void` `startElement(java.lang.String namespace, java.lang.String localName, java.lang.String prefix, org.xml.sax.Attributes attributes, DeserializationContext context)` This method is invoked when an element start tag is encountered.

Methods inherited from class org.apache.axis.message.SOAPHandler
`characters, makeNewElement, onEndChild`

Methods inherited from class org.xml.sax.helpers.DefaultHandler
`endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning`

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

### RPCHandler

    public RPCHandler(RPCElement rpcElem,
                      boolean isResponse)
               throws org.xml.sax.SAXException

Method Detail

### setOperation

    public void setOperation(OperationDesc myOperation)

### setHeaderElement

    public void setHeaderElement(boolean value)

  Indicate RPCHandler is processing header elements

  Parameters:
    `value` - boolean indicating whether header elements are being processed.

### startElement

    public void startElement(java.lang.String namespace,
                             java.lang.String localName,
                             java.lang.String prefix,
                             org.xml.sax.Attributes attributes,
                             DeserializationContext context)
                      throws org.xml.sax.SAXException

  This method is invoked when an element start tag is encountered. The purpose of this method in RPCHandler is to reset variables (this allows re-use of RPCHandlers)

  Overrides:
    `startElement` in class `SOAPHandler`
  Parameters:
    `namespace` - is the namespace of the element
    `localName` - is the name of the element
    `prefix` - is the prefix of the element
    `attributes` - are the attributes on the element...used to get the type
    `context` - is the DeserializationContext
  Throws:
    `org.xml.sax.SAXException`

### onStartChild

    public SOAPHandler onStartChild(java.lang.String namespace,
                                    java.lang.String localName,
                                    java.lang.String prefix,
                                    org.xml.sax.Attributes attributes,
                                    DeserializationContext context)
                             throws org.xml.sax.SAXException

  Register the start of a parameter (child element of the method call element). Our job here is to figure out a) which parameter this is (based on the QName of the element or its position), and b) what type it is (based on the xsi:type attribute or operation metadata) so we can successfully deserialize it.

  Overrides:
    `onStartChild` in class `SOAPHandler`
  Throws:
    `org.xml.sax.SAXException`

### endElement

    public void endElement(java.lang.String namespace,
                           java.lang.String localName,
                           DeserializationContext context)
                    throws org.xml.sax.SAXException

  Overrides:
    `endElement` in class `SOAPHandler`
  Throws:
    `org.xml.sax.SAXException`

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