ОБНОВЛЕНИЕ: у меня была ошибка в конечной точке http-запроса. Я не установил соответствующие параметры аутентификации, чтобы исправить множество ошибок, возможно, именно эту.
Мой вопрос похож на один здесь:
Функция Node.js Lambda возвращает Недопустимый ответ на вызов Alexa Service Simulator от вызова REST
Однако решение этого вопроса не решает мою проблему. Итак, я делаю вызов http-запроса к службе xsjs в облаке Hana. Я получаю сообщение об ошибке «ответ недействителен». Я не понимаю, почему. Вот моя функция:
// Create a web request and handle the response.
function httpGet(query, callback) {
console.log("/n QUERY: "+ query);
var host = 'datacloudyd070518trial.hanatrial.ondemand.com';
var path = '/LocationInformation/getLocationInfo.xsjs?location=';
var hostname = 'https://' + host + path + query;
var auth = 'user1:D1anafer';
var req = http.request({'hostname': hostname,
'auth': auth
}, (res) => {
var body = '';
res.on('data', (d) => {
body += JSON.stringify(d);
});
res.on('end', function () {
callback(body);
});
});
req.end();
req.on('error', (e) => {
console.error(e);
});
}
И функция, которая его вызывает:
'getNewsIntent': function () {
//self = this;
httpGet(location, function (response) {
// Parse the response into a JSON object ready to be formatted.
//var output = JSON.parse(response);
//output = output['change'];
var output = response;
var cardTitle = location;
var cardContent = output;
alexa.emit(':tellWithCard', output, cardTitle, cardContent);
});
},
Спасибо - Диана