in utils/aempackager.js [172:228]
function callService(data, callback) {
if(data.retryCount === undefined) {
data.retryCount = 0;
if(data.maxRetry === undefined) {
data.maxRetry = 10;
}
}
logger.debug(data.retryCount + '. Service call: ', data.serviceURL);
let req = request.post({ url: data.serviceURL }, (error, response, body) => {
var statusCodeLine = (response === undefined) ? "" : "Response: " + response.statusCode + " : " + response.statusMessage;
logger.debug(statusCodeLine);
if (error) {
if(data.retryCount < data.maxRetry) {
data.retryCount++;
callService(data, callback);
} else {
logger.error(error);
callback(error + " " + statusCodeLine, undefined);
}
return;
} else if(response && response.statusCode===200) {
if(data.download) {
callback(undefined, response);
return;
}
xml2js.parseString(body, (error, result) => {
if(result) {
logger.debug('Response body: ',body);
if(getStatusCode(result) === '200') {
callback(undefined, result);
} else {
logger.debug(body);
logger.warn("Response status:",getStatusCode(result),":",getStatusText(result));
retryCallService(data, 'Unable to parse service response for', data.serviceURL, callback);
}
} else if(error) {
logger.debug(body);
logger.warn('Unable to parse service response for', data.serviceURL);
retryCallService(data, 'Unable to parse service response for', data.serviceURL, callback);
}
});
return;
}
retryCallService(data, "Error calling service " + data.serviceURL, callback)
return;
}).auth(data.username, data.password);
logger.debug(JSON.stringify(req.toJSON()));
return req;
}