Каталог решений - POST запрос

Описание

Недавно столкнулся с необходимостью отправки post запросов из 1С 8.1 но ничего внятного так и не нашёл.

Предлагаю свой вариант решения проблемы.

До логического конца не дошёл ещё, как только доработаю, выложу обработку.

Функция ТекстЗапросБаланса(Пользователь,Пароль)
    Результат = "<?xml version=""1.0"" encoding=""utf-8""?>" +
                "<soap: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>" +
                        "<GetCreditBalance xmlns=""http://api.prostor-sms.ru/WebService.asmx"">" +
                            "<smsUser>" + Пользователь + "</smsUser>" +
                            "<password>" + Пароль + "</password>" +
                        "</GetCreditBalance>" +
                    "</soap:Body>" +
                 "</soap:Envelope>";
     Возврат Результат;
КонецФункции


Процедура ПослатьЗапрос()
    ИмяСервера= "http://api.prostor-sms.ru/WebService.asmx";
    Логин= "";
    Пароль= "";
    MSXML = Новый COMОбъект("MSXML2.XMLHTTP.4.0");
    MSXML.open("POST", ИмяСервера, 0);
    MSXML.setRequestHeader("Accept", "text/xml; charset=utf-8");
    MSXML.setRequestHeader("Cache-Control","no-store, no-cache, must-revalidate");
    MSXML.setRequestHeader("Cache-Control","post-check=0, pre-check=0");
    MSXML.setRequestHeader("SOAPAction", "http://api.prostor-sms.ru/WebService.asmx/GetCreditBalance");
    ЗапросXML = ТекстЗапросБаланса(Логин, Пароль);
    MSXML.send(ЗапросXML);
    ОтветПолучен = Ложь;
    Для НомерЦикла = 1 по 100 Цикл
        Если MSXML.readyState > 3 Тогда
            ОтветПолучен = Истина;
            Прервать;
        КонецЕсли;
    КонецЦикла;
    Если ОтветПолучен Тогда
        Результат = MSXML.responseXML.xml;
        xmlDoc = Новый COMОбъект("MSXML2.DOMDocument"); 
        xmlDoc.async = 0;
        xmlDoc.LoadXML(Результат);
        ЧтениеXML = Новый ЧтениеXML;
        ЧтениеXML.УстановитьСтроку(Результат);
        GetCreditBalanceResult = 0;
        creditBalance =  0;
        Пока ЧтениеXML.Прочитать() Цикл
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры
has been added to your cart:
Оформление заказа