Как узнать аргументы для передачи клиенту обратного вызова при вызове метода веб-сервиса? - PullRequest
0 голосов
/ 01 июля 2019

Я хочу использовать метод веб-сервиса через Nodejs.Это wsdl: https://www.telma.net/sentimsa/mvola/wsdl.php?module=jWSDL&action=WSDL:wsdl&service=mvola~WSMVolaGetInfosKYC

Я видел этот урок на GitHub.Моя проблема в том, что я не знаю, откуда они знают ['StockQuote']['StockQuoteSoap'] аргументы параметра клиента обратного вызова!Последний аргумент ['GetQuote'], возможно, является служебным методом.Так в моем случае, как написать метод вызова клиента?

1 Ответ

1 голос
/ 01 июля 2019

Я 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));
  });
});

(Слишком много контента для публикации в качестве комментария, удалит ответ, если не работает)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...