如何在Nodejs中创建SSL SOAP客户端

时间:2016-11-28 20:04:20

标签: node.js web-services ssl soap node-soap

首先,我想说清楚这是我第一次处理证书/密钥/ pfx /等等。如果我错了,请纠正我:)

我正在使用node-soap为网络服务器创建客户端并使用其服务器。 WSDL。仅在HTTP协议而不是HTTPS上执行此操作我取得了成功,一切正常,但现在pfx我收到了mac verify failure错误。

相关代码:

import * as soap from 'soap';
import * as fs from 'fs';

let client_options: {
    forceSoap12Headers: true,
    wsdl_options:{
      pfx: fs.readFileSync('PATH\TO\MY\PFX')
    }
};

soap.createClient('HTTPS\WEB-SERVER\URL?wsdl', client_options, (error, client)=>{
    console.log(error.message) // <-- mac verify failure
    console.log(client) // <-- undefined
});

值得注意的是:

  • 我找不到node-soap库的wsdl_options库的任何文档,pfx我在Google上搜索时意外发现的passphrase: 'password'因此我不知道其他任何选项可用。

  • 尝试处理此错误,我发现createServer的选项应添加到选项但是httpsnode-soap库的选项,而不是用于创建拥有node-soap相关链接的客户:stackoverflow questiongit issue

过去3天我一直在处理这个问题,需要调试所有httpsrequest if (openFileDialog1.ShowDialog() == DialogResult.OK) { string pic = openFileDialog1.FileName; string filePath; string newfilepath;//here you should assign your newfilepath filePath = pic; Bitmap bmp = null; using (var stream = File.OpenRead(filePath)) { bmp = (Bitmap)Bitmap.FromStream(stream); bmp.Save(newfilepath, System.Drawing.Imaging.ImageFormat.Jpeg);//here you can change the format i.e. bmp,jpg,png etc. } } 个库..迷失在那里。

非常感谢任何帮助或建议,谢谢!

1 个答案:

答案 0 :(得分:0)

你在github看到这个链接了吗? https://github.com/nodejs/node-v0.x-archive/issues/7407它还表示在这种情况下设置passphrase: 'password'