Exemplo n.º 1
0
 def unmarshaller(self, typed=True):
     """
     Get the appropriate XML decoder.
     @return: Either the (basic|typed) unmarshaller.
     @rtype: L{UmxTyped}
     """
     if typed:
         return UmxTyped(self.schema())
     else:
         return UmxBasic()
Exemplo n.º 2
0
    def get_fault(self, replyroot):
        """Extract fault information from the specified SOAP reply.

          Returns an I{unmarshalled} fault L{Object} or None in case the given
        XML document does not contain the SOAP <Fault> element.

        @param replyroot: A SOAP reply message root XML element or None.
        @type replyroot: L{Element}
        @return: A fault object.
        @rtype: L{Object}
        """
        envns = suds.bindings.binding.envns
        soapenv = replyroot and replyroot.getChild('Envelope', envns)
        soapbody = soapenv and soapenv.getChild('Body', envns)
        fault = soapbody and soapbody.getChild('Fault', envns)
        return fault is not None and UmxBasic().process(fault)