Class 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

      Fields 
      Modifier and Type Field Description
      protected static org.apache.commons.logging.Log log  
    • Constructor Summary

      Constructors 
      Constructor Description
      RPCHandler​(RPCElement rpcElem, boolean isResponse)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.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
        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