使用node-soap:将参数传递给方法时获取ECONNREFUSED

时间:2015-10-28 13:59:11

标签: javascript node.js web-services soap node-soap

我正在使用node-soap与Web服务进行通信,但我无法让它工作。

下面的代码会引发错误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 个答案:

没有答案