Как использовать wsdl webservice через узел js
Я использую модуль узла сильного мыла, я хочу сделать звонок в веб-сервис, у меня есть файл wsdl.
var soap = require('strong-soap').soap;
var WSDL = soap.WSDL;
var path = require('path');
var options = {};
WSDL.open('./wsdls/RateService_v22.wsdl',options,
function(err, wsdl) {
// You should be able to get to any information of this WSDL from this object. Traverse
// the WSDL tree to get bindings, operations, services, portTypes, messages,
// parts, and XSD elements/Attributes.
var service = wsdl.definitions.services['RateService'];
//console.log(service.Definitions.call());
//how to Call rateService ??
});
2 ответа
Я не уверен в том, как strong-soap
работает. Но у меня есть несколько реализаций SOAP
используя узел-мыло
В основном, с node-soap
пакет использует Promises
сохранить запрос совпадений.
var soap = require('soap');
var url = 'http://www.webservicex.net/whois.asmx?WSDL';
var args = {name: 'value'};
soap.createClient(url, function(err, client) {
client.GetWhoIS(args, function(err, result) {
console.log(result);
});
});
Давайте использовать следующий пример сервиса SOAP:
Получить запись регистрации доменного имени по имени хоста / доменному имени (WhoIS)
Судя по вашему коду, вы хотите использовать файл .wsdl, доступный локально, поэтому сохраните его:
mkdir wsdl && curl 'http://www.webservicex.net/whois.asmx?WSDL' > wsdl/whois.wsdl
Теперь давайте используем следующий код для запроса:
'use strict';
var soap = require('strong-soap').soap;
var url = './wsdl/whois.wsdl';
var requestArgs = {
HostName: 'webservicex.net'
};
var options = {};
soap.createClient(url, options, function(err, client) {
var method = client['GetWhoIS'];
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));
});
});
Это дало бы некоторые значимые результаты.WSDL.open
вы пытаетесь использовать, предназначен для работы со структурой WSDL
Загружает WSDL в виде дерева. Пройдите по дереву WSDL, чтобы получить привязки, сервисы, порты, операции и так далее.
Вам не обязательно это нужно, чтобы позвонить в службу