Импорт документов с веб ресурса

1. user598273_alex155vid 02.03.21 10:41 Сейчас в теме
Приветствую! Делаю импорт документов из json в БП. По запросу на получение документа по id документ успешно загружается со всеми нужными реквизитами. Через утилиту командной строки CURL тем же запросом получаю данный документ в формате xml. Это GET запрос. Требуется дать ответ на web ресурс о том, что документ успешно загружен, отправив его id. Делаю тот же запрос с функцией POST запроса ОтправитьДляОбработки(), но в этом случае возвращается КодСостояния = 400, что бы я не делал. В чём моя ошибка? Вот успешный GET запрос. Получаем ID документа. Потом:

Соединение = Новый HTTPСоединение("1s.leon.ru:3000"); 
Запрос = Новый HTTPЗапрос("/export/" + ID + "?key=5ED7DF2A-0EED-40A8-9800-7E9008881A4B"); 
Результат = Соединение.Получить(Запрос); 
Если Результат.КодСостояния = 200 Тогда 
     РезультатСтрокой = Результат.ПолучитьТелоКакСтроку(); 
КонецЕсли; 


А вот неуспешный POST запрос:

Заголовки = Новый Соответствие; 
Заголовки.Вставить("Content-Type", "application/json"); 
Соединение = Новый HTTPСоединение("1s.leon.ru:3000"); 
ФайлРезультат = ПолучитьИмяВременногоФайла(); 
Запрос = Новый HTTPЗапрос("/export/" + ID + "?key=5ED7DF2A-0EED-40A8-9800-7E9008881A4B", Заголовки); Запрос.УстановитьТелоИзСтроки(Запрос, КодировкаТекста.UTF8); 
Результат = Соединение.ОтправитьДляОбработки(Запрос, ФайлРезультат); 
Результат.Заголовки.Вставить("Content-type", "application/json"); 
Если Результат.КодСостояния <> 200 Тогда 
     Ответ = Соединение.ОтправитьДляОбработки(Запрос); 
     Сообщить("Код результата: " + Ответ.КодСостояния); 
     Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); 
КонецЕсли; 
Показать


Буду очень благодарен за поддержку, я в 1С более 17 лет, а с этими вещами столкнулся впервые.
По теме из базы знаний
Найденные решения
2. platonov.e 158 02.03.21 11:14 Сейчас в теме
Запрос в тело не устанавливается. Почему пост, почему ни гет?
3. user598273_alex155vid 02.03.21 14:58 Сейчас в теме
(2) Благодарю, справился, не то передавал в тело.
Пост потому, что на web сервер нужно передать информацию для записи о том, что документ загружен.
Конечный результат POST запроса:
Соединение		= Новый HTTPСоединение("1s.leon.ru:3000");
СтруктураID		= Новый Структура("documentOuterId", СтруктураШапкиДокумента.Код);
ЗаписьJSON		= Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, СтруктураID);
СтрокаДляОтвета 	= ЗаписьJSON.Закрыть();
Заголовки		= Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Запрос = Новый HTTPЗапрос("/export/" + СтруктураШапкиДокумента.Код + "?key=5ED7DF2A-0EED-40A8-9800-7E9008881A4B", Заголовки);
Запрос.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8);
Результат		= Соединение.ОтправитьДляОбработки(Запрос);
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. platonov.e 158 02.03.21 11:14 Сейчас в теме
Запрос в тело не устанавливается. Почему пост, почему ни гет?
3. user598273_alex155vid 02.03.21 14:58 Сейчас в теме
(2) Благодарю, справился, не то передавал в тело.
Пост потому, что на web сервер нужно передать информацию для записи о том, что документ загружен.
Конечный результат POST запроса:
Соединение		= Новый HTTPСоединение("1s.leon.ru:3000");
СтруктураID		= Новый Структура("documentOuterId", СтруктураШапкиДокумента.Код);
ЗаписьJSON		= Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, СтруктураID);
СтрокаДляОтвета 	= ЗаписьJSON.Закрыть();
Заголовки		= Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Запрос = Новый HTTPЗапрос("/export/" + СтруктураШапкиДокумента.Код + "?key=5ED7DF2A-0EED-40A8-9800-7E9008881A4B", Заголовки);
Запрос.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8);
Результат		= Соединение.ОтправитьДляОбработки(Запрос);
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот