#node.js #web-services #ssl #soap #wsdl
#node.js #веб-службы #ssl #soap #wsdl
Вопрос:
Я пытаюсь получить доступ к методам WSDL по протоколу SSL с помощью модуля node-soap. Я могу подключиться к серверу и получить client.desclibe()
, но когда я пытаюсь получить доступ к методу в WSDL, я получаю :
authorized: false,
authorizationError: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
Я пытался отключить проверку SSL или использовать ssl-root-cas
модуль, но это не имеет значения, каждый раз, когда я получаю эту ошибку.
Вот как я использую node-soap
:
client = soap.createClient(wsdl_url, {
wsdl_options: {
key: fs.readFileSync('ssl/privatekey.key'),
cert: fs.readFileSync('ssl/public-certificate.crt'),
passphrase: 'password',
rejectUnauthorized: false,
},
forceSoap12Headers: true
},
function(err, client){
client.setSecurity(new soap.ClientSSLSecurity(
'ssl/privatekey.key' ,
'ssl/public-certificate.crt' ,
'ssl/new-ca.crt' ,
{
rejectUnauthorized: false,
passphrase: 'password'
}
));
client.ServerMethod({ name : 'value' }, function(err, result) {
console.log(result);
});
})
У кого-нибудь есть предложения, что происходит не так? Мне нужен SSL, поэтому я не могу просто отключить его.
Комментарии:
1. Вы решили эту проблему?
Ответ №1:
Можете ли вы попробовать что-то подобное перед вызовом soap?
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
Надеюсь, это поможет.