createClient = function (params, opts) { params = params || {}; opts = opts || {}; //check if all data is set mandatoryCheck(params); if (!opts.secure) { opts.secure = false; } // fix params and opts if (params.host.match('http://')) { params.host = params.host.substring(7); opts.secure = false; } if (params.host.match('https://')) { params.host = params.host.substring(8); opts.secure = true; } return new EasySoap(params, opts); }
...
'namespace': 'item_namespace'
}]
}
/*
* create the client
*/
var soapClient = easysoap.createClient(params);
/*
* get all available functions
*/
soapClient.getAllFunctions()
.then((functionArray) => { console.log(functionArray); })
...
(callParams, params, opts) => { var reqHeadParams = getRequestHeadParams(_.extend(params, callParams)); var reqEnvParams = getRequestEnvelopeParams(_.extend(params, callParams), opts); var reqParamsString = getRequestParamsAsString(callParams, params, opts); return Promise.all([reqEnvParams, reqParamsString]) .then((reqParams) => { var envParams = reqParams[0]; var reqParamsString = reqParams[1]; return requestTpl({ 'envelope': envParams, 'head' : reqHeadParams, 'body' : reqParamsString }); }); }
...
callParams = callParams || {};
if (!callParams.method) {
throw new Error('no method given');
}
return soapRequest.getRequestXml(callParams, params, opts);
},
/**
* [description]
* @param {[type]} xml [description]
* @return {[type]} [description]
...
(callParams, params, opts) => { return that.getRequestXml(callParams, params, opts) .then((requestXml) => { // default headers var headers = {} headers['Content-Type'] = 'text/xml; charset=utf-8'; // custom headers _.each(params.headers, (headerItem) => { headers[headerItem.name] = headerItem.value }); return new Promise((resolve, reject) => { request({ url : getProtocol(opts) + params.host + params.path, body : requestXml, headers : headers, rejectUnauthorized: params.rejectUnauthorized, method : 'POST' }, function(error, response, body) { if (error) { reject(error); } else { resolve({ 'body' : body, 'response': response, 'header' : response.headers }); } }); }); }); }
...
callParams = callParams || {};
if (!callParams.method) {
throw new Error('no method given');
}
return soapRequest.soapCall(callParams, params, opts)
.then((soapResponse) => {
return wsdlrdr.getMethodParamsByName(callParams.method, params, opts)
.then((methodParams) => {
// get xml data as json, try to flatten the output
var dataAsJson = wsdlrdr.getXmlDataAsJson(soapResponse.body);
...