Использование node-soap: получение ECONNREFUSED при передаче аргументов методу

Я использую node-soap для связи с веб-сервисами, но не могу заставить его работать.

Код, приведенный ниже, выдает ошибку ECONNREFUSED. Но если я не помещу переменную args в функцию, я получу ответ. Кто-нибудь знает, что это может быть?

var soap = require('soap');
var wsdl, url;
var args = {cargoSn: 'MSWU0031179'};
soap.createClient(url, function(err, client) {
  //console.log('client');
  console.log(client.describe().TransportWebService.TransportWebServiceSoap.GetContainerPosition);

  client.GetContainerPosition(args, function(err, result) {
    console.log('err');
    console.log(err);
    console.log('result');
    console.log(result);
  }, {
    proxy: "http://127.0.0.1:8888",
    strictSSL: false
  });

  console.log(client.lastRequest);

}, url);

Вот что я получаю при запуске кода сверху:

err
{ [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect' }
result
undefined

И это то, что я получаю, называя это без аргументов:

client.GetContainerPosition(function(err, result) { ...

err
null
result
{ GetContainerPositionResult: '{"Status":"ERROR","Description":"Nothing found with serial number: ","Data":null}' }

Таким образом, он работает, когда аргументы не передаются (и, очевидно, ничего не находит), но выдает ошибку, когда они есть.

0 ответов

Другие вопросы по тегам