Я console.dir
редактировал ваш WSDL и увидел эти две функции:
getInfosKYC: [Function],
WSMVolaGetInfosKYCCtrl: { WSMVolaGetInfosKYCCtrlPort: { getInfosKYC: [Function] } },
Кроме того, console.dir(Object.keys(client))
может показать, что есть только 2 функции, которые содержат имена служб.
[ '_events',
'_eventsCount',
'_maxListeners',
'wsdl',
'soapHeaders',
'httpHeaders',
'bodyAttributes',
'xmlHandler',
'getInfosKYC',
'WSMVolaGetInfosKYCCtrl',
'httpClient' ]
Может быть, тогда ваш синтаксис будет,
var soap = require('strong-soap').soap;
// wsdl of the web service this client is going to invoke. For local wsdl you can use, url = './wsdls/stockquote.wsdl'
var url = 'https://www.telma.net/sentimsa/mvola/wsdl.php?module=jWSDL&action=WSDL:wsdl&service=mvola~WSMVolaGetInfosKYC';
var requestArgs = {
module:'jWSDL',
action:'WSDL:wsdl',
service:'mvola~WSMVolaGetInfosKYC'
};
var options = {};
soap.createClient(url, options, function(err, client) {
var method = client['WSMVolaGetInfosKYCCtrl']['WSMVolaGetInfosKYCCtrlPort']['getInfosKYC'];
console.dir(client);//here
method(requestArgs, function(err, result, envelope, soapHeader) {
//response envelope
console.log('Response Envelope: \n' + envelope);
//'result' is the response body
console.log('Result: \n' + JSON.stringify(result));
});
});
(Слишком много контента для публикации в качестве комментария, удалит ответ, если не работает)