Node中的Nodejs NTLM / Basic auth

时间:2017-08-01 13:23:18

标签: node.js web-services soap ntlm

我尝试使用SOAP包将nodeJs与soap服务连接起来。

在服务器中我有一个基本的身份验证。

如何将基本身份验证放入肥皂库?我有这段代码:

  soap.createClient(url, function(err, client) {

     console.log(err)

  });

在日志错误中,我收到401页面(不是auth)。在SOAP包的网页中,我看到了这个方法:

client.setSecurity(new soap.BasicAuthSecurity('user','pass'));

我需要把这段代码放在哪里?

中未定义createClient中的reicevied客户端

EXTRA:理想的是我可以使用NTLM进行授权,这是可行的吗?我在同一台机器上有一个节点应用程序,而不是肥皂服务器。

修改 我尝试使用soap-ntlm-2库设置NTLM凭证,使用以下代码:

 var url = "http://server/instance/ReportService2010.asmx";
var options = {
    wsdl_options: {
        ntlm: true,
        username: "RSUser",
        password: "Reporting2012",
        workstation: "",
        domain: ""
    }
};

soap.createClient(url, options, function (err, client, body) {
    if (err) {
        console.log(err);
    }
    // normal use 
    //client.setSecurity(new soap.NtlmSecurity(options.wsdl_options.userName, options.wsdl_options.password, options.wsdl_options.domain, options.wsdl_options.workstation)); 
    // or object can be passed 
    client.setSecurity(new soap.NtlmSecurity(options.wsdl_options));

    console.log(client.describe());
    report = client.ReportingService2010.ReportingService2010Soap;
});

但我有同样的错误按摩:客户端未定义。

0 个答案:

没有答案