获取错误:使用node-soap时getaddrinfo ENOTFOUND

时间:2016-05-12 20:26:25

标签: node.js web-services soap

我有一个SOAP web服务,我需要从node.js应用程序中读取并决定使用vpulim/node-soap

当我使用SOAP客户端时,Web服务可以正常工作,但我无法让它在node.js应用程序上运行。我收到以下错误消息:

Error: getaddrinfo ENOTFOUND www.xxxxxxx.intra.com.mt www.xxxxxxx.intra.gov.mt:9011
    at errnoException (dns.js:26:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:77:26)

奇怪的是,实际的URL是www.xxxxxx.com.mt而没有内部部分。我不明白为什么它在这里有不同的表现。

以下是我正在使用的代码。

var url = 'https://www.xxxxxxxx.gov.mt/wsRPS.asmx?WSDL';    

  soap.createClient(url, function(err, client){
     //client.addSoapHeader(soapHeader);
    //
    var args = {
      from: "2016-03-01T11:00:00",
      to: "2016-03-03T11:00:00"
    };

    client.GetInformation(args, function(err, result){
     if(err){
       throw err;
     }
     console.log(result);
    });
  });

有关正在发生的事情的任何想法?谢谢

1 个答案:

答案 0 :(得分:0)

您需要提供客户端端点:

const url = 'https://www.xxxxxxxx.gov.mt/wsRPS.asmx';

soap.createClient(`${url}?wsdl`, (err, client) => {

    // here
    client.setEndpoint(url);

    const args = {
      from: "2016-03-01T11:00:00",
      to: "2016-03-03T11:00:00"
    };

    client.GetInformation(args, (err, result) => {
        if(err){
           throw err;
        }
        console.log(result);
    });

});