code: def exception_for_soap_fault(response)
        begin
          fault = response[:fault]
          if fault[:detail] and fault[:detail][:api_exception_fault]
            exception_fault = fault[:detail][:api_exception_fault]
            exception_name = (
                exception_fault[:application_exception_type] ||
                FALLBACK_API_ERROR_EXCEPTION)
            exception_class = get_module().const_get(exception_name)
            return exception_class.new(exception_fault)
          elsif fault[:faultstring]
            fault_message = fault[:faultstring]
            return AdsCommon::Errors::ApiException.new(
                "Unknown exception with error: %s" % fault_message)
          else
            raise ArgumentError.new(fault.to_s)
          end
        rescue Exception => e
          return AdsCommon::Errors::ApiException.new(
              "Failed to resolve exception (%s), SOAP fault: %s" %
              [e.message, response.soap_fault])
        end
      end
docs: Finds an exception object for a given response.