2016-05-12 45 views
1

時的getaddrinfo ENOTFOUND我有一個SOAP的Web服務,我需要從Node.js應用程式閱讀和決定使用vpulim/node-soap收到錯誤:使用節點皁

Web服務的工作時,我使用SOAP客戶端,但我無法讓它在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); 
    }); 
    }); 

關於發生了什麼事情的任何想法?謝謝

+0

一歲QN。你找到解決方案嗎? –

+0

nope,沒有解決方案 - 我最終在PHP中做了這個,而不是...我沒有發現使用NodeJS的肥皂(沒有真正爲它構建)...我很樂意嘗試任何推薦解決方案 – ChrisBorg

回答

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); 
    }); 

}); 
+0

我收到類似的錯誤,指出getaddrinfo。您的解決方案將無法工作,因爲「客戶端」的值是未定義的。所以,不能執行undefined.setEndpoint(..) –