@MaoCzedun

Node soap, как синхронно вызвать методы?

Пытаюсь с помощью сервиса turboSms делать рассылку , делал такое на php , там это спокойно решается , тут скачиваю soap пакет , после чего следуя инструкциям пытаюсь выполнить подключение и авторизация , после делаю попытку отправить sms , и тут возникает ошибка , turboSms не дает мне отправить сообщение и пишет что я не авторизован , хотя перед этим авторизация произошла успешно , получается методы работают асинхронно
d6159b82c90a4b1faa5c5c26a56a0219.png
var url='http://turbosms.in.ua/api/wsdl.html',
    soap = require('soap'),
    report = require('./errorReporting').report,
    clientPhoneAlex="+30090999990",
    clientPhoneVictoria="+30090999991"
    authData={login:"11111",password:"22222"},
    sender="BigLapa.com",
    soapClient;

soap.createClient(url,function(error,client){
     report(error);
     client.Auth(authData,function(error,result){
        report(error);
        console.log(result);
        console.log(1);
      });
      setTimeout(function(){
        client.SendSMS({sender:"BigLapa.com",destination:clientPhoneAlex,text:"Пять минут полет нормальный"},function(error,result){
          console.log(2);
           report(error);
            console.log(result);
        });
      },4000);

    console.log(client.getHttpHeaders());
});
  • Вопрос задан
  • 782 просмотра
Пригласить эксперта
Ответы на вопрос 2
@yeti357
может потому, что надо слать сообщение в колбэке авторизации, а не параллельно ей, пусть и с таймаутом. Вы же пишите асинхронный код, если понимаете о чём я.
Ответ написан
Комментировать
@MaoCzedun Автор вопроса
решил , проблема была не в этом , а в том что soap нативно не поддерживает работу с сессиями в node , для этого стоит качать отдельное расширение
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы