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