-
0
Приветствую! Делаю импорт документов из json в БП. По запросу на получение документа по id документ успешно загружается со всеми нужными реквизитами. Через утилиту командной строки CURL тем же запросом получаю данный документ в формате xml. Это GET запрос.
Требуется дать ответ на web ресурс о том, что документ успешно загружен, отправив его id.
Делаю тот же запрос с функцией POST запроса ОтправитьДляОбработки(), но в этом случае возвращается КодСостояния = 400, что бы я не делал.
Можно ли через команду Curl (или какую-нибудь другую команду) получить POST запрос в командной строке?
В чём моя ошибка?
Вот успешный 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 лет, а с этими вещами столкнулся впервые
-
0
Используйте postman, в нем можно тестировать post - запросы. Еще есть обработка КонсольHTTPЗапросов прям из 1с можно все протестировать.
-
0
Благодарю, справился, не то передавал в тело.
Конечный результат 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);
Результат = Соединение.ОтправитьДляОбработки(Запрос);
-
0
чо уж там ! выкладывайте обработку