I'm using the node-soap module, which lets you connect to web services using SOAP. I've already tested the communication with the Soap-Server(Web Service) via SoapUI and it works great.
Currently i can display the input data for a method. In this example i want to find out the input data for the method Connection. I can identify it with this command: client.describe().MachineWebService.MachineBinding.Connection
My client code looks like this:
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);
});
The result of my client code is:
{ 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' } } }
Problem: Actually it is possible to identify the arguments easily with the help of the input data. But my input data looks very messy. I don't understand how to structure the arguments with the above input data. Any idea?