Добрый день.
Встала простая задача по restapi обратиться в битрикс и забрать оттуда данные по массиву id.
Дергаем ручку в Postmane - все ок.
Делаем Http post запрос из 1с - ответ 200, но пустой результат. Все дело в том что Postman умеет высчитывать Content-Length. В 1С его нужно высчитывать вручную, и передавать не серилизованный JSON в теле а файл.
Ниже работающий пример:
HTTPСоединение = ПолучитьHTTPСоединение();
перЗапрос = "local/rest/1C/deal.php";
Структура = Новый Структура;
Структура.Вставить("id", ИдСтрока);
ЗаписьJSON = новый ЗаписьJSON();
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, Структура);
ДанныеДляОтправкиJSON = ЗаписьJSON.Закрыть();
ФайлЗапроса = ПолучитьИмяВременногоФайла();
ТекстовыйФайл = Новый ТекстовыйДокумент;
ТекстовыйФайл.УстановитьТекст(ДанныеДляОтправкиJSON);
ТекстовыйФайл.Записать(ФайлЗапроса, КодировкаТекста.ANSI);
ФайлОтправки = Новый Файл(ФайлЗапроса);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "text/plain;charset=UTF-8");
Заголовки.Вставить("Content-Length", РазмерФайлаОтправки);
HTTPЗапрос = Новый HTTPЗапрос(перЗапрос, Заголовки);
HTTPЗапрос.УстановитьИмяФайлаТела(ФайлЗапроса);
HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
СтрокаJSON = HTTPОтвет.ПолучитьТелоКакСтроку();
ЧтениеJSON = Новый ЧтениеJSON();
ЧтениеJSON.УстановитьСтроку(СтрокаJSON);
перМассив = ПрочитатьJSON(ЧтениеJSON);