在 NodeJS 中使用 WSSecurity 发送 SOAP 请求

Vic*_*ira 5 ws-security soap wsdl node.js

我正在尝试请求这项内部服务,负责它的团队表示它需要用户名+密码并使用证书加密。

我想到使用这个模块node-soap,并在文档中找到了这个:

1- https://github.com/vpulim/node-soap#wssecurity

2- https://github.com/vpulim/node-soap#wssecuritycert

它解释了如何实现 WSSecurity,但一个规则会覆盖另一个规则。所以这段代码将不起作用:

var wsSecurity = new soap.WSSecurity('username', 'password', options)
client.setSecurity(wsSecurity);

var wsSecurity = new soap.WSSecurityCert(privateKey, publicKey, password);
client.setSecurity(wsSecurity);
Run Code Online (Sandbox Code Playgroud)

使用这两种策略的正确方法是什么?

我是 SOAP 的新手,任何帮助将不胜感激

小智 1

我遇到了同样的要求。我正在构建一个自定义 WSSecurityCertSSL 安全模块,它不是那么好,但可能可以工作。最好的办法是修改节点肥皂,以便您可以堆叠多个证券,因为有些(即:ssl)仅处理连接,而另一些则处理信封操作(即:WssSecurity)。