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: Hello! 3.14159 ...we'll get onStartChild() events for and .

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
makeNewElement, onEndChild
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
characters, 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
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
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
org.xml.sax.SAXException


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