我正在嘗試使用Node.js來調用SOAP Exchange EWS服務。我創建了一個簡單的HTTP客戶端,像這樣:Node.js與MS Exchange EWS集成
var https = require('https');
var username = 'user';
var password = 'password';
var auth = 'NTLM ' + new Buffer(username + ":" + password).toString('base64');
var options = {
host : 'exchangehost',
port : 443,
method : 'post',
path : '/Exchange.asmx',
headers : { Authorization : auth }
};
var request = https.request(options, function(response) {
console.log('Status: ' + response.statusCode);
};
request.write('<soapenv:Envelope ...></soapenv:Envelope>');
request.end();
我收到一個狀態代碼401,我懷疑是因爲我沒有做對參與NTLM身份驗證(http://www.innovation.ch/personal/ronald/ntlm.html)的三個步驟。有誰知道Node.js模塊直接與Exchange EWS通信或使用NTLM進行身份驗證,還是需要爲Node.js自己實現該協議?任何援助非常感謝。
你有沒有解決過這個問題? – 2014-04-16 05:23:55
不幸的是我沒有。我們決定採用Kerberos身份驗證,部分原因是由於我們在這裏遇到的問題。 – AngryMonkey 2014-04-26 17:23:12