code: def call(self, method, *args):
          
          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
docs: Calls the service method defined with the arguments provided