我无法向服务发送正确的参数。
使用的代码:
var soap = require('soap');
var url = 'http://example.com';
soap.WSDL.prototype.ignoredNamespaces = ['targetNamespace', 'typedNamespace'];
var args = {'name':'test'};
soap.createClient(url, function(err, client) {
client.Hello(args, function(err,result,res){
console.log(result);
console.log(client.lastRequest);
});
});
Hello 函数应返回字符串“Hello test!”。但是,我得到:
'Hello null !'
发送的请求是:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ....><soap:Body>
<tns:Hello xmlns:tns="http://example/">
<tns:name>test</tns:name>
</tns:Hello></soap:Body></soap:Envelope>
其中测试是有趣的部分。服务期待
<name>test</name>
没有命名空间(我用http://www.soapclient.com/测试了这个)
所以,问题是:如何在没有附加 tns 的情况下发送请求参数?(tns:name => name) 谢谢!