我一直在尝试使用node-soap连接到Web服务,但继续收到错误“无法读取未定义的属性'Body'”。我认为问题是node-soap生成的SOAP信封不正确,需要使用ns1而不是tns。请查看PHP的SoapClient生成的信封,该信封成功连接到web服务和node-soap生成的信封,如下所示:
PHP
<SOAP-ENV:Body>
<ns1:IsHealthy/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
节点SOAP
<soap:Body>
<tns:IsHealthy xmlns:tns="http://tempuri.org/" xmlns="http://tempuri.org/">
</tns:IsHealthy>
</soap:Body>
</soap:Envelope>
是否有设置告诉节点soap在发送之前使用ns1或修改信封的方法?
答案 0 :(得分:0)
在创建客户端期间,您可以传递参数:
var options = {
envelopeKey:'soapenv',
xmlKey: 'sdm'
};
soap.createClient(url, options, function(err, client) {
}