Я пытаюсь вызвать простой метод, созданный в моем сервисе SOAP, который возвращает «Hello, World!». Мне удалось успешно вызвать этот метод с помощью SoapUI, поэтому я знаю, что он работает.
В настоящее время распечатывается только пустой объект. Я врезался в стену и не уверен, что делаю неправильно. Любая помощь будет отличной!
Вот что у меня есть:
"use strict";
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://test-idv.dataventures.com/CP3_WCF_DATA/WCFAccess.svc/mex?wsdl';
var options = {};
soap.createClient(url, options, function (err, client) {
client.addSoapHeader("<wsa:Action>http://tempuri.org/IWCFAccess/GetOtherData</wsa:Action>");
client.addSoapHeader("<wsa:To>https://test-idv.dataventures.com/CP3_WCF_DATA/WCFAccess.svc</wsa:To>");
client.GetOtherData({}, function (err, result, envelope, soapHeader) {
if (err) {
throw err;
}
console.log(result);
// Result is a javascript object
// Envelope is the response envelope from the Web Service
// soapHeader is the response soap header as a JavaScript object
})
});
Вот XML-код SoapUI:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">
<soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Action>http://tempuri.org/IWCFAccess/GetOtherData</wsa:Action>
<wsa:To>https://test-idv.dataventures.com/CP3_WCF_DATA/WCFAccess.svc</wsa:To>
</soap:Header>
<soap:Body>
<tem:GetOtherData/>
</soap:Body>
</soap:Envelope>
Вот XML-запрос от Strong-Soap
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<wsa:Action>http://tempuri.org/IWCFAccess/GetOtherData</wsa:Action>
<wsa:To>https://test-idv.dataventures.com/CP3_WCF_DATA/WCFAccess.svc</wsa:To>
</soap:Header>
<soap:Body>
<ns1:GetOtherData xmlns:ns1="http://tempuri.org/"/>
</soap:Body>
</soap:Envelope>