Node.js - проблемы с использованием библиотеки SOAP - PullRequest
2 голосов
/ 12 августа 2011

Я пытаюсь использовать этот пакет: https://github.com/milewise/node-soap

Однако, когда я делаю это:

var soap = require('soap');
var url = 'http://example.com/wsdl?wsdl';
var args = {name: 'value'};
soap.createClient(url, function(err, client) {
    client.MyFunction(args, function(err, result) {
        console.log(result);
    });
});

Возвращает обратно: "undefined".

Мой вопрос: я не понимаю, когда он говорит "args". Это связано с узлами в WDSL?

Файл WSDL выглядит следующим образом:

<xsd:element name="getAllMarkets">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="request" type="types:GetAllMarketsReq"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

Пожалуйста, помогите. Спасибо.

Ответы [ 3 ]

3 голосов
/ 16 сентября 2013

вместо этого :

var args = {name: 'value'};

попробуйте :

var args = {'tns:name': 'value'};

это сработало для меня.

3 голосов
/ 21 августа 2011

Вы регистрируете result, что, вероятно, не определено из-за ошибки, означающей, что аргумент err для вашей функции обратного вызова определен и будет иметь информацию для вас.В этом случае, поскольку похоже, что вы звоните MyFunction вместо getAllMarkets, ваша ошибка, вероятно, будет какой-то ошибкой «Неизвестного метода».Сделайте console.log(err, result); и посмотрите, что это печатает.

0 голосов
/ 05 апреля 2016

попробуй

var args = { request: { name: 'value' } };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...