I have to make a server to update some device.
They asked me to use node.js and the device send a soap request.
I need to check the parameters to verify the version. So I decided to use the node-soap module. (The WSDL file I use is a local file)
But I can't find how to recover the value of those parameters.
I read the node-soap spec, but I couldn't find how to do that. :/
Here is my code (I didn't do much yet because I'm stuck because of this) :
var myService = {
ActiaProxyAPI: { //MyService
ActiaProxyAPI: { //MyPort
GetData: function(args) { //MyFunction
if (args.i-uiType == "11") {
var ID = args.i-pcIdentifiant;
var reg=new RegExp("[ $]+", "g"); //parse the string (actually works)
var tableau=ID.split(reg);
console.log(tableau[4] );
}
return {
name: args.o-poData
};
}
}
}
};
var xml = require('fs').readFileSync('./wsdl/ActiaProxyAPI.wsdl', 'utf8'),
server = http.createServer(function(request,response) {
response.end("404: Not Found: "+request.url);
});
server.listen(8080);
soap.listen(server, '/wsdl', myService, xml);
I've found how to retrieve the arguments' value : instead of args.i-uiType I used args["i-uiType"] , and instead of name: args.o-poData :
'tns:GetDataResponse': {'o-poData': result}
Well I hope this can help other people, because it works for me !