Вызов службы мыла из функции Firebase Cloud Ошибка - PullRequest
0 голосов
/ 18 октября 2018

Я хочу вызвать URL службы мыла из моей облачной функции Firebase

  1. Я уже включил биллинг и могу вызывать другие API из моей облачной функции.

  2. Я могу вызвать эту функцию мыла на почтальоне, и она работает.enter image description here

Но при вызове из моей облачной функции возникает следующая ошибка:

Ошибка XMLHttpRequest:

"Message": "Error: connect ECONNREFUSED 127.0.0.1:80\n    at Object.exports._errnoException (util.js:1020:11)\n    at exports._exceptionWithHostPort (util.js:1043:20)\n    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1105:14)"

Код

  var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
        var xmlhttp = new XMLHttpRequest();

        //replace second argument with the path to your Secret Server webservices
        xmlhttp.open('POST', 'xxxxx/SiloFunctions.asmx');

        //create the SOAP request
        var sr =
            '<soapenv:Envelope ' +
            'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
            'xmlns:xsd="http://www.w3.org/2001/XMLSchema"' +
            'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">' +
            '<soap:Body>' +
            '<Request xmlns="http://tempuri.org/">' +
            '<Password>xxxx</Password>' +
            '<Latitude>123</Latitude>' +
            '<Longitude>123</Longitude>' +
            '<ClientName>123</ClientName>' +
            '<ClientSurname>123</ClientSurname>' +
            '<MSISDN>123123</MSISDN>' +
            '</Request>' +
            '</soap:Body>' +
            '</soapenv:Envelope>';


        //specify request headers
        xmlhttp.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');

        //FOR TESTING: display results in an alert box once the response is received
        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == 4) {
                res.status(200).send(
                    {
                        "Message": xmlhttp.responseText,
                    })
            }
        };

        //send the SOAP request
        xmlhttp.send(sr);

Whyyyyyy?

1 Ответ

0 голосов
/ 18 октября 2018

Вы должны использовать полный URL, а не частичный URL.Это, вероятно, начинается с https://.Поскольку вы этим не пользуетесь, используемая вами библиотека HTTP использует localhost (127.0.0.1), что, очевидно, не сработает.

...