Вызов службы SOAP, требующей сертификата, с использованием Nodejs - PullRequest
0 голосов
/ 24 декабря 2018

Ошибка выброса SOAP-клиента Nodejs [ERR_TLS_CERT_ALTNAME_INVALID]: имя хоста / IP не совпадает с альтернативными именами сертификата:

Я пытаюсь вызвать службу SOAP, используя soap в nodejs.Однако я получаю сообщение об ошибке [ERR_TLS_CERT_ALTNAME_INVALID]: имя хоста / IP не совпадает с альтернативными именами сертификата: IP: XXX.XXX.XXX.XXX отсутствует в списке сертификата: .Я новичок в nodejs и не уверен, как вызвать службу SOAP, которая требует сертификат от nodejs.Также приветствуются другие способы вызова служб SOAP, требующих сертификатов в Nodejs.

var url = "https://soapserviceurl?wsdl";

soap.createClient(url, function (err, client) { 
    if (err) {
        console.log("Error Occurred!!");
        console.log(err);       
    }
    else {
        console.log(client.describe());
    }
});

1 Ответ

0 голосов
/ 25 декабря 2018

пожалуйста, попробуйте

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0" //this is insecure 
Или:

    var soap = require('soap'),
        request = require('request'),
        fs = require('fs');

    var url = "https://soapserviceurl?wsdl";
    
    var req = request.defaults({
       strictSSL: false
    );

    soap.createClient(url, { 
            request : req
    }, function(err, client) {
    	//your code
    });

Или:

soap.createClient(url, { 
            request : req,
    		wsdl_options: {
            cert: fs.readFileSync('cert/cert.pem'), //path to pem
            key: fs.readFileSync('cert/cert.key'),   //path to private key
            rejectUnauthorized: false
        }
    }, function(err, client) {
    	//your code
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...