我正在尝试使用此软件包:https://github.com/milewise/node-soap
然而,当我这样做时:
var soap = require('soap');
var url = 'http://example.com/wsdl?wsdl';
var args = {name: 'value'};
soap.createClient(url, function(err, client) {
client.MyFunction(args, function(err, result) {
console.log(result);
});
});
它返回:“undefined”。
我的问题是我不明白什么时候说“args”。它与WDSL中的节点有关吗?
WSDL文件如下:
<xsd:element name="getAllMarkets">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="request" type="types:GetAllMarketsReq"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
请帮忙。感谢。
答案 0 :(得分:3)
您正在记录result
,这可能是未定义的,因为存在错误,这意味着您的回调函数的err
参数已定义并且将为您提供信息。在这种情况下,因为看起来您正在调用MyFunction
而不是getAllMarkets
,您的错误可能会出现某种“未知方法”错误。做console.log(err, result);
并查看打印出来的内容。
答案 1 :(得分:3)
而不是:
var args = {name: 'value'};
试试这个:
var args = {'tns:name': 'value'};
它为我工作。
答案 2 :(得分:0)
试
var args = { request: { name: 'value' } };