В настоящее время я работаю над узловым приложением, пытающимся сделать запрос к службе на основе SOAP. Я использую модуль узла-мыла, чтобы работать с этим. https://github.com/vpulim/node-soapПодключение к веб-службе с использованием SOAP
В настоящее время я имею следующую реализацию
var soap = require('soap');
var url = 'http:/xxxx/xxxx/xxxx?WSDL';
var appKey = 'ABYRCEE';
var xml = {
appKey: appKey,
mac: 'xxxxxxxx'
}
soap.createClient(url, function(err, client){
//console.log('Client:', client);
client.getAllDocsisVideoInfo(xml, function(err, result){
if(err){
console.log(err);
}
});
});
Для службы в ответ, у меня есть образец запроса в формате XML, как следующий
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:doc="http://xxx.xxx.com">
<soapenv:Header/>
<soapenv:Body>
<doc:getAllDocsisVideoInfo>
<appKey>"appKey"</appKey>
<mac>xxxxxxx</mac>
</doc:getAllDocsisVideoInfo>
</soapenv:Body>
</soapenv:Envelope>
Как вы можете видеть из выше, что я должен передать в appKey и mac значения, и по успешному запросу это отправит обратно successfu l в формате xml с соответствующим ответом.
Я могу видеть клиент объект вернуться обратно с соответствующими функциями, но при вызове client.getAllDocsisVideoInfo (....), я, кажется, следующая ошибка
S : Клиент: Не удается найти метод отправки для {} getAllDocsisVideoInfo
Я не уверен, почему? Это из-за того, как я передаю объект xml, как я могу передать запрос образца?
Сделайте: console.log (client.describe()); Чтобы узнать, получаете ли вы информацию о клиенте (методы и т. Д.). Если вы не получите никакой информации, я задаюсь вопросом, правильно ли ваш URL-адрес? – cloaked
Я попробовал, что дал мне необходимые функции – RRP