0
Имеется некий запрос, который получает код номенклатуры и его представление.
Далее:
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
МассивRoot = Новый Массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ДанныеНоменклатуры = Новый Структура;
ДанныеНоменклатуры.Вставить("code_1c", ВыборкаДетальныеЗаписи.code1c);
ДанныеНоменклатуры.Вставить("name", ВыборкаДетальныеЗаписи.name);
МассивRoot.Добавить(ДанныеНоменклатуры);
КонецЦикла;
ЗаписьJSON = Новый ЗаписьJSON;
ПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, " ", Истина);
ЗаписьJSON.УстановитьСтроку(ПараметрыJSON);
ЗаписатьJSON(ЗаписьJSON, МассивRoot);
СтрокаJS = ЗаписьJSON.Закрыть();
ФайлОтвета = "C:\Users\User\Documents\temp\test.txt";
АдресСервера = "185.167.5.549"; (тестовый адрес, в реале другой)
РесурсНаСервере = "/v3/nomenclatur/update?token=5вф4в5фыв5фыв5фы5авы6"; (некий тест для примера)
Если Объект.SLL Тогда
HTTPСоединение = Новый HTTPСоединение(АдресСервера, 443,,,,,Новый ЗащищенноеСоединениеOpenSSL(Неопределено,Неопределено));
Иначе
HTTPСоединение = Новый HTTPСоединение(АдресСервера, 80);
КонецЕсли;
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-type", "application/json");
запросPOST = Новый HTTPЗапрос(РесурсНаСервере, Заголовки);
запросPOST.УстановитьТелоИзСтроки("json=" + СтрокаJS);
ОтветHTTP = HTTPСоединение.ОтправитьДляОбработки(запросPOST, ФайлОтвета);
Если НЕ (ОтветHTTP.КодСостояния >= 200 И ОтветHTTP.КодСостояния < 300) Тогда
Сообщить("Выгрузка пакета не произведена: Код ответа сервера - "+ОтветHTTP.КодСостояния+", Ответ: "+ОтветHTTP.ПолучитьТелоКакСтроку());
Иначе
Сообщить("Успешно выгружен пакет");
КонецЕсли;
при выполнении получаем ошибку 422, а именно соединение проходит, но на сервер отправляется пустой файл.
в ответ приходит следующее:
{"json":["JSON \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c"]}
в чем дело, может в параметрах каких? в postman передаю сформированный json все отлично проходит.