我正在尝试通过带有node-soap模块的SSL访问WSDL方法。我可以连接到服务器并获取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启动,所以我不能简单地关闭它。
发布于 2017-09-14 16:54:28
您可以在调用soap之前尝试这样的操作吗?
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';希望能有所帮助。
https://stackoverflow.com/questions/39996120
复制相似问题