Calls the service method defined with the arguments provided

def call(self, method, *args):
        """ Calls the service method defined with the arguments provided """
        try:
            response = getattr(self.client.service, method)(*args)
        except (URLError, SSLError) as e:
            log.exception('Failed to connect to responsys service')
            raise ConnectError("Request to service timed out")
        except WebFault as web_fault:
            fault_name = getattr(web_fault.fault, 'faultstring', None)
            error = str(web_fault.fault.detail)

            if fault_name == 'TableFault':
                raise TableFault(error)
            if fault_name == 'ListFault':
                raise ListFault(error)
            if fault_name == 'API_LIMIT_EXCEEDED':
                raise ApiLimitError(error)
            if fault_name == 'AccountFault':
                raise AccountFault(error)

            raise ServiceError(web_fault.fault, web_fault.document)
        return response