我正在使用node-soap模块,它允许您使用SOAP连接到Web服务。 我已经通过SoapUI测试了与Soap-Server(Web服务)的通信,它运行良好。
目前我可以显示方法的输入数据。在这个例子中,我想找出方法Connection的输入数据。我可以使用此命令识别它:client.describe().MachineWebService.MachineBinding.Connection
我的客户端代码如下所示:
var soap = require('soap');
var url = './MachineWebService.wsdl';
// var args ={name: 'value'}
soap.createClient(url, function(err, client) {
console.log(client.describe().MachineWebService.MachineBinding.Connection);
//client.Connection(args, function(err, result) {
// console.log(result);
});
我的客户端代码的结果是:
{ input:
{ loginInformation:
subElement {
nsName: 'xsd:complexType',
prefix: 'tns',
name: 'complexType',
children: [Object],
xmlns: 'http://www.XXXX.com/web-service/1.0',
valueKey: '$value',
xmlKey: '$xml',
ignoredNamespaces: [Object],
'$name': 'LoginInformationType' } },
output:
{ result:
subElement {
nsName: 'xsd:complexType',
prefix: 'tns',
name: 'complexType',
children: [Object],
xmlns: 'http://www.XXXX.com/web-service/1.0',
valueKey: '$value',
xmlKey: '$xml',
ignoredNamespaces: [Object],
'$name': 'LoginInformationResponseType' },
errors:
subElement {
nsName: 'xsd:complexType',
prefix: 'tns',
name: 'complexType',
children: [Object],
xmlns: 'http://www.XXXX.com/web-service/1.0',
valueKey: '$value',
xmlKey: '$xml',
ignoredNamespaces: [Object],
'$name': 'ErrorResponseType' } } }
问题: 实际上,可以借助输入数据轻松识别参数。但我的输入数据看起来非常混乱。我不明白如何用上面的输入数据构造参数。有什么想法吗?