Node.js SOAP请求主机名/ IP与证书的altnames不匹配,即使是rejectUnauthorized:false

时间:2014-10-09 13:21:20

标签: node.js soap

我正在使用节点v0.10.32。我想在node.js中创建一个SOAP请求。我遇到了这个错误:     "请求主机名/ IP不匹配证书的altnames"

正如此链接所示

Node.js Hostname/IP doesn't match certificate's altnames

我应该输入{rejectUnauthorized:false}。但它仍然给我带来同样的错误。 (顺便说一句:" altname"实际上是什么意思?)

我的代码如下:

var soap = require('soap');
var url = 'https://link.to/my/url/file.wsdl';
var args = {Email: 'my@email.de', Passwort: 'passwort123', deviceMac: '00-14-22-01-23-45'};
soap.createClient(url, {rejectUnauthorized: false}, function(err, client) {
  client.myOperation(args, function(err, result) {
      console.log(err, result);
  });
});

我也试过这个(我得到了同样的错误信息)

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
var soap = require('soap');
var url = 'https://link.to/my/url/file.wsdl';
var args = {Email: 'my@email.de', Passwort: 'passwort123', deviceMac: '00-14-22-01-23-45'};
soap.createClient(url, function(err, client) {
    client.myOperation(args, function(err, result) {
        console.log(err, result);
    });
});

该网址不是以"https://www."开头吗?

1 个答案:

答案 0 :(得分:1)

'肥皂'您正在使用的库可能取决于节点'请求'库,这意味着它与Node.js Hostname/IP doesn't match certificate's altnames

的问题相同

您最简单的解决方案是通过http而非https发出请求(将https更改为您网址中的http)。