org.jboss.axis.message
Class RPCHandler

java.lang.Object
  extended byorg.xml.sax.helpers.DefaultHandler
      extended byorg.jboss.axis.message.SOAPHandler (src) 
          extended byorg.jboss.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 (src)

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 .


Field Summary
 
Fields inherited from class org.jboss.axis.message.SOAPHandler (src)
myElement
 
Constructor Summary
RPCHandler(RPCElement (src)  rpcElem, boolean isResponse)
           
 
Method Summary
 void endElement(java.lang.String namespace, java.lang.String localName, DeserializationContext (src)  context)
           
 SOAPHandler (src) onStartChild(java.lang.String namespace, java.lang.String localName, java.lang.String prefix, org.xml.sax.Attributes attributes, DeserializationContext (src)  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 (src)  myOperation)
           
 void startElement(java.lang.String namespace, java.lang.String localName, java.lang.String prefix, org.xml.sax.Attributes attributes, DeserializationContext (src)  context)
          This method is invoked when an element start tag is encountered.
 
Methods inherited from class org.jboss.axis.message.SOAPHandler (src)
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
 

Constructor Detail

RPCHandler

public RPCHandler(RPCElement (src)  rpcElem,
                  boolean isResponse)
Method Detail

setOperation

public void setOperation(OperationDesc (src)  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 (src)  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 (src)
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 (src)  onStartChild(java.lang.String namespace,
                                java.lang.String localName,
                                java.lang.String prefix,
                                org.xml.sax.Attributes attributes,
                                DeserializationContext (src)  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 (src)
Throws:
org.xml.sax.SAXException

endElement

public void endElement(java.lang.String namespace,
                       java.lang.String localName,
                       DeserializationContext (src)  context)
                throws org.xml.sax.SAXException
Overrides:
endElement in class SOAPHandler (src)
Throws:
org.xml.sax.SAXException