docs: def get_client(wsdl, log_prefix, plugins=[], **kwargs):
      """
      Get a SOAP Client object for the given WSDL. Client objects are cached in :attr:`soap.clients <soap.clients>`
      and keyed by the WSDL URL.
  
      :param wsdl: String URL of a SOAP WSDL
      :param log_prefix: String prefix to prepend to log lines (when logging XML traffic in DEBUG mode)
      :param plugins: List of additional plugins :class:`suds.plugin.Plugin <suds.plugin.Plugin>` to pass on to the
          :class:`suds.client.Client <suds.client.Client>` object.
      :param kwargs: Optional keyword arguments to pass on to the :class:`suds.client.Client <suds.client.Client>` object
      :return: :class:`suds.client.Client <suds.client.Client>` object
      :rtype: suds.client.Client
      """
      if wsdl in settings.WSDL_INTERCEPTS:
          wsdl = settings.WSDL_INTERCEPTS[wsdl]
  
      if wsdl not in clients:
          if settings.DEBUG:
              plugins.append( LogPlugin(log_prefix) )
  
          try:
              clients[wsdl] = Client(wsdl, plugins=plugins, transport=get_transport(), **kwargs)
          except Exception as e:
              statsd.incr('soap.wsdl-creation-error')
              logger.fatal('Failed to create SOAP client with WSDL at %s' % wsdl)
              raise e
      return clients[wsdl]