POST запрос

04.02.10

Разработка - Запросы

Послать 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.Прочитать() Цикл
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    183433    1020    403    

966

Обновление 1С Запросы Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Данный инструмент помогает анализировать доработанную конфигурацию после обновления на новый релиз и находить «битые» тексты запросов, в которых участвуют несуществующие в новом релизе метаданные.

2 стартмани

06.02.2025    2128    17    XilDen    26    

36

Запросы Программист Платформа 1С v8.3 Запросы 1C:Бухгалтерия Бесплатно (free)

В статье приведена удобная возможность отладки исполняемого запроса динамического списка.

03.12.2024    5594    artemusII    11    

23

Запросы Программист Бесплатно (free)

Увидел cheatsheet по SQL и захотелось нарисовать подобное, но про запросы.

18.10.2024    13004    sergey279    18    

65

Запросы Программист Платформа 1С v8.3 Запросы 1C:Бухгалтерия Бесплатно (free)

Столкнулся с интересной ситуацией, которую хотел бы разобрать, ввиду её неочевидности. Речь пойдёт про использование функции запроса АВТОНОМЕРЗАПИСИ() и проблемы, которые могут возникнуть.

11.10.2024    8107    XilDen    36    

90

СКД Механизмы типовых конфигураций Запросы Программист Платформа 1С v8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    3103    PROSTO-1C    0    

23

Запросы Программист Запросы Бесплатно (free)

Отлаживая взаимодействие с базой данных, мы регулярно сталкиваемся с зависающими или подозрительно долго выполняющимися обращениями, негативно влияющими на производительность. О том, как в PostgreSQL выявить подозрительные запросы, основываясь на доступной о них информации, расскажем в статье.

16.08.2024    10678    user1840182    5    

29
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Serj1C 484 05.02.10 08:38 Сейчас в теме
По статистие большинство веток формумов в интернете заканчиваются сообщением примерно с таким содержанием - "Спасибо, сейчас попробую, обязательно отпишу".
Надеюсь обработку выложишь )))
2. Andrew_flyer 84 05.02.10 12:43 Сейчас в теме
:) Статистика знает всё)
Сдвиги есть, так что выложу уже сегодня!
3. Andrew_flyer 84 05.02.10 13:31 Сейчас в теме
4. Arabo_xv 5 08.02.10 13:31 Сейчас в теме
(0)
Есть такой объект в 1С - HTTPСоединение
Не могу понять за чем нужно использовать COM для того что 1С умеет делать. Тут однозначно минус ставить надо за незнание предметной области.
6. Andrew_flyer 84 24.02.10 16:51 Сейчас в теме
7. lame 76 12.05.10 07:13 Сейчас в теме
вот мой рабоичй пример на POST-GET

http://infostart.ru/public/20383/
8. Andrew_flyer 84 17.05.10 11:17 Сейчас в теме
(7) кроме "HTTPСоединение" ни чего интересного тут не используется!
Интересно именно в виде xml запроса!
Кто сталкивался, пишите
9. Andrew_flyer 84 17.05.10 12:49 Сейчас в теме
В добавлении, рекомендую ознакомиться с механизмом преобразования строки в URL!!!
http://infostart.ru/public/70330/
10. lame 76 25.05.10 02:01 Сейчас в теме
Интересно именно в виде xml запроса

и в чем разница то ?
как сделаешь со стороны сервера разбор запроса - так и надо посылать.
если у тебя обработчик на сервере обрабатывает только xml-то конечнео надо посылать только xml.
в моем примере - никакого изврата. Посылается строка с параметрами типа
"&Parametr1="+Параметр1+"&Parametr2="+Параметр2;
все просто и элементарно.

тебе может показать пример формирования xml ?
11. postnet 38 31.08.10 17:31 Сейчас в теме
Зачем мучатся, все эти методы и именно для рассылки уже реализованы http://www.infostart.ru/public/65932/ И получение баланса и отправка SMS все есть и работает все через эти сервисы напрямую. Проверьте ваши логин и пароль. :D
Оставьте свое сообщение