def get_fault(self, reply):
reply = self.replyfilter(reply)<EOL>sax = Parser()<EOL>faultroot = sax.parse(string=reply)<EOL>soapenv = faultroot.getChild('<STR_LIT>')<EOL>soapbody = soapenv.getChild('<STR_LIT>')<EOL>fault = soapbody.getChild('<STR_LIT>')<EOL>unmarshaller = self.unmarshaller(False)<EOL>p = unmarshaller.process(fault)<EOL>if self.options().faults:<EOL><INDENT>raise WebFault(p, faultroot)<EOL><DEDENT>return (faultroot, p.detail)<EOL>
Extract the fault from the specified soap reply.  If I{faults} is True, an
exception is raised.  Otherwise, the I{unmarshalled} fault L{Object} is
returned.  This method is called when the server raises a I{web fault}.
@param reply: A soap reply message.
@type reply: str
@return: A fault object.
@rtype: tuple ( L{Element}, L{Object} )