code: function createSoapClient(opts) {
      let wsdl = opts && opts.wsdl_url ?
          opts.wsdl_url : API_BASE_URI + WSDL_URL_PATH;
      let clientOpts = { request: request.defaults({ jar: true, gzip: true }) };
      return new Promise((resolve, reject) => {
          soap.createClient(wsdl, clientOpts, (err, client) => {
              if (err) return reject(err);
              resolve(client);
          });
      });
  }
docs: Creates the SOAP client, using the supplied options for locating
  the WSDL document for the endpoint.
  
  @param {object} [opts] - WSDL and SOAP endpoint options
  @param {string} [opts.wsdl_url] - the URL from which to fetch the
  WSDL document; defaults to the concatenation of
  [API_BASE_URI]{@link
  module:plugins/polling-updater~API_BASE_URI} and
  [WSDL_URL_PATH]{@link
  module:plugins/polling-updater~WSDL_URL_PATH}
  
  @returns {Promise} On success, resolves to the created SOAP client object
  @private