Я новичок в node.js и уже несколько дней экспериментирую.Сегодня я попытался отправить XML-запрос к API с использованием easysoap-запроса.Он работал отлично, но мне пришлось бы создавать XML-файл для каждого отдельного запроса, поэтому я попытался с помощью easysoap.Вот мой код:
const EasySoap = require('easysoap');
console.log("test");
(async () => {
const params = {
host : 'https://comeapi.com',
path : '/dir/soap',
wsdl : '/dir/wsdl',
headers: [{
'user-agent': 'Request-Promise',
'Content-Type': 'text/xml',
}]
}
var soapClient = EasySoap(params);
soapClient.call({
method :'one_methode',
attributes: {
xmlns: 'https://someapi.com'
},
params: {
'api' : {
'authentication' : {
'login' : 'mylogin',
'password' : 'mypassword'
},
'params' : {
'another_params' : {
'name' : 'Brian',
}
}
}
}
}).then((callResponse) => {
console.log(callResponse.data); // response data as json
console.log(callResponse.body); // response body
console.log(callResponse.header); //response header
}).catch((err) => {
throw new Error(err);
});
console.log("test2");
});
console.log("test3");
Когда я запускаю свой файл командой node, он показывает мне только «test» и «test 3» в терминале, а не ответ API,Я не понимаю проблему в моей программе, потому что я уже использовал функцию "(async () => {" в предыдущих программах, и это довольно хорошо сработало.
Спасибо за вашу помощь. ^^
Редактировать: я добавил недостающую часть в свой код, и теперь есть что-то новое. Это ошибка, и я ее не понимаю ...
(узел: 10264) UnhandledPromiseRejectionWarning:Ошибка: Ошибка: нет ответа wsdl / xml в soapClient.call.then.catch (C: \ Users \ user \ Documents \ src \ script.js: 40: 15) в process._tickCallback (внутренняя / process / next_tick.js:68: 7) (узел: 10264) UnhandledPromiseRejectionWarning: необработанное отклонение обещания. Эта ошибка возникла либо в результате выброса внутри асинхронной функции без блока catch, либо в результате отклонения обещания, которое не было обработано с помощью .catch (). (Идентификатор отклонения:1) (узел: 10264) [DEP0018] DeprecationWarning: Необработанные отклонения обещаний устарели. В будущем отклонения обещаний, которые не обрабатываются, завершат процесс Node.js с ненулевым exit code.
Это проблема с .catch ()?Может кто-нибудь объяснить мне?Спасибо