2016-11-07 2 views
0

Попробуйте с помощью мыла узел называют веб-сервис не работает, но если он работает в SoapUIузел-мыло: Не найден метод распределения

var soap = require('soap'); 
var url = 'http://190.129.208.178:96/PasarelaServices/CustomerServices?wsdl'; 
var args = { "key": '12345', "parametros": 'parameters...' }; 
soap.createClient(url, function (err, client) { 
    console.log(client.describe()); 
    console.log(client.describe().CustomerServices.CustomerServicesPort.solicitarPago); 
    client.CustomerServices.CustomerServicesPort.solicitarPago(args, function (err, result, raw, soapHeader) { 
    console.log(err); 
    console.log(result) 
    console.log(raw); 
    }); 
}); 

в запросе SoapUI бы:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.vlink.com.bo/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <ser:solicitarPago> 
     <key>12345</key> 
     <parametros>parameters...</parametros> 
     </ser:solicitarPago> 
    </soapenv:Body> 
</soapenv:Envelope> 

Спасибо

+0

Пожалуйста, проверьте необработанный запрос в SoapUI и посмотреть, если какой-либо из заголовков пропускаются в 'узловой soap' вызов? – Rao

+0

Я подозреваю, что это префиксная функция MarcoAndresito

ответ

0

Можно решить с:

var soap = require('soap'); 
var url = 'http://190.129.208.178:96/PasarelaServices/CustomerServices?wsdl'; 
var wsdlOptions = { 
    "overrideRootElement": { 
    "namespace": "ser", 
    "xmlnsAttributes": [{ "name": "xmlns:ser", "value": "http://services.vlink.com.bo/" }] 
    } 
}; 
var args = { "key": '12345', "parametros": 'parameters...' }; 
soap.createClient(url, wsdlOptions, function (err, client) { 
    client.solicitarPago(args, function (err, result, raw, soapHeader) { 
    console.log(result); 
    }); 
}); 

Проблема заключалась в том: надо было установить префикс «сер» с wsdlOptions

Смежные вопросы