Добрый день!

имеется УТМ ЕГАС.
пока работал на версии 3.0.8 всё было хорошо. вот это работало:

```1c
    HTTPЗапрос = Новый HTTPЗапрос("/opt/out");
    соединение = Соединение = Новый HTTPСоединение("192.168.1.17", 8080);
    попытка
    HTTPОтвет = Соединение.Получить(HTTPЗапрос);
    исключение
    сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
    конецпопытки;
```

счас перешёл на утм 4.2.0 и эта конструкция вылетает по тайм-ауту:
Ошибка работы с Интернет: Превышено время ожидания

и самое противное - это когда я делаю запрос в curl
curl –X GET http://192.168.1.17:8080/opt/out

всё отлично проходит, и я получаю список документов УТМ
---
Ну вот мой подопытный кусок

```1c
    Процедура Команда2НаСервере()
    Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "); // Идентификатор границы разделов POST запроса
    ИмяФайлаДляЗагрузки = КаталогВременныхФайлов() + "select.xml";
    ИмяФайлаОтвета = КаталогВременныхФайлов() + "answer.xml"; // Имя файла ответа на POST запрос
    ИмяФайлаОтправки = КаталогВременныхФайлов() + "post.txt";

    ОбъектXML = Новый ЗаписьXML();
    ОбъектXML.ОткрытьФайл(ИмяФайлаДляЗагрузки);
    ОбъектXML.ЗаписатьОбъявлениеXML();
    ОбъектXML.ЗаписатьНачалоЭлемента("ns:Documents");
    ОбъектXML.ЗаписатьАтрибут("Version", "1.0");
    ОбъектXML.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
    ОбъектXML.ЗаписатьСоответствиеПространстваИмен("ns", "http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01");
    ОбъектXML.ЗаписатьСоответствиеПространстваИмен("oref", "http://fsrar.ru/WEGAIS/ClientRef");
    ОбъектXML.ЗаписатьСоответствиеПространстваИмен("qp", "http://fsrar.ru/WEGAIS/QueryParameters");
    ОбъектXML.ЗаписатьНачалоЭлемента("ns:Owner");
    ОбъектXML.ЗаписатьНачалоЭлемента("ns:FSRAR_ID");
    ОбъектXML.ЗаписатьТекст("111111111");
    ОбъектXML.ЗаписатьКонецЭлемента();//ns:FSRAR_ID
    ОбъектXML.ЗаписатьКонецЭлемента();//ns:Owner
    ОбъектXML.ЗаписатьНачалоЭлемента("ns:Document");
    ОбъектXML.ЗаписатьНачалоЭлемента("ns:QueryClients");
    ОбъектXML.ЗаписатьНачалоЭлемента("qp:Parameters");
    ОбъектXML.ЗаписатьНачалоЭлемента("qp:Parameter");
    ОбъектXML.ЗаписатьНачалоЭлемента("qp:Name");
    ОбъектXML.ЗаписатьТекст("ИНН");
    ОбъектXML.ЗаписатьКонецЭлемента();//qp:Name
    ОбъектXML.ЗаписатьНачалоЭлемента("qp:Value");
    ОбъектXML.ЗаписатьТекст("9111111111");
    ОбъектXML.ЗаписатьКонецЭлемента();//qp:Value
    ОбъектXML.ЗаписатьКонецЭлемента();//qp:Parameter
    ОбъектXML.ЗаписатьКонецЭлемента();//qp:Parameters
    ОбъектXML.ЗаписатьКонецЭлемента();//ns:QueryClients
    ОбъектXML.ЗаписатьКонецЭлемента();//ns:Document
    ОбъектXML.ЗаписатьКонецЭлемента();//ns:Documents
    ОбъектXML.ЗаписатьТекст(Символы.ПС);
    ОбъектXML.Закрыть();

    //Определяем массив для процедуры ОбъединитьФайлы
    МассивФайловДляОбъединения = Новый Массив;

    //Формируем начальный фрагмент файла POST-запроса
    ИмяФайлаОтправкиНачало = ПолучитьИмяВременногоФайла("txt");
    ФайлОтправкиНачало = Новый ЗаписьТекста(ИмяФайлаОтправкиНачало, КодировкаТекста.ANSI, Символы.ПС, Ложь);
    //Определяем раздел двоичных данных
    ФайлОтправкиНачало.ЗаписатьСтроку("--" + Boundary);
    //Указываем имя файла для передачи
    ФайлОтправкиНачало.ЗаписатьСтроку("Content-Disposition: form-data; name="xml_file"; filename="" + "select.xml" + "");
    //Указываем тип передаваемых данных.
    ФайлОтправкиНачало.ЗаписатьСтроку("Content-Type: text/xml; charset=utf-8");
    ФайлОтправкиНачало.ЗаписатьСтроку(");
    ФайлОтправкиНачало.Закрыть();

    МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиНачало);

    МассивФайловДляОбъединения.Добавить(ИмяФайлаДляЗагрузки);

    //Формируем конечный фрагмент файла POST-запроса
    ИмяФайлаОтправкиКонец = ПолучитьИмяВременногоФайла("txt");
    ФайлОтправкиКонец = Новый ЗаписьТекста(ИмяФайлаОтправкиКонец, КодировкаТекста.ANSI, Символы.ПС, Ложь);

    //Завершение раздела двоичных данных
    //Завершение сообщения для сервера

    ФайлОтправкиКонец.ЗаписатьСтроку("--" + Boundary + "--");
    ФайлОтправкиКонец.Закрыть();

    МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиКонец); // !!! 3 добавление в массив

    //Теперь сформированные фрагменты сообщения для сервера объединяем в один файл POST-запроса
    ОбъединитьФайлы(МассивФайловДляОбъединения, ИмяФайлаОтправки);

    КонецПроцедуры
```
---
Доку не читал чтоли?
Тама на шестой странице
ВНИМАНИЕ!
Для корректной работы запроса http в формате multipart/form-data необходимо отправлять
именно файл. Соответственно, в запросе обязательно должны быть указаны параметры:
name="xml_file";
filename="<имя_файла>
---
я немного отстаю в этой области. можно ли чуть подробней, как это сделать?
---
Ну вот мой подопытный кусок

```1c
    Процедура Команда2НаСервере()
    Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "); // Идентификатор границы разделов POST запроса
    ИмяФайлаДляЗагрузки = КаталогВременныхФайлов() + "select.xml";
    ИмяФайлаОтвета = КаталогВременныхФайлов() + "answer.xml"; // Имя файла ответа на POST запрос
    ИмяФайлаОтправки = КаталогВременныхФайлов() + "post.txt";

    ОбъектXML = Новый ЗаписьXML();
    ОбъектXML.ОткрытьФайл(ИмяФайлаДляЗагрузки);
    ОбъектXML.ЗаписатьОбъявлениеXML();
    ОбъектXML.ЗаписатьНачалоЭлемента("ns:Documents");
    ОбъектXML.ЗаписатьАтрибут("Version", "1.0");
    ОбъектXML.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
    ОбъектXML.ЗаписатьСоответствиеПространстваИмен("ns", "http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01");
    ОбъектXML.ЗаписатьСоответствиеПространстваИмен("oref", "http://fsrar.ru/WEGAIS/ClientRef");
    ОбъектXML.ЗаписатьСоответствиеПространстваИмен("qp", "http://fsrar.ru/WEGAIS/QueryParameters");
    ОбъектXML.ЗаписатьНачалоЭлемента("ns:Owner");
    ОбъектXML.ЗаписатьНачалоЭлемента("ns:FSRAR_ID");
    ОбъектXML.ЗаписатьТекст("111111111");
    ОбъектXML.ЗаписатьКонецЭлемента();//ns:FSRAR_ID
    ОбъектXML.ЗаписатьКонецЭлемента();//ns:Owner
    ОбъектXML.ЗаписатьНачалоЭлемента("ns:Document");
    ОбъектXML.ЗаписатьНачалоЭлемента("ns:QueryClients");
    ОбъектXML.ЗаписатьНачалоЭлемента("qp:Parameters");
    ОбъектXML.ЗаписатьНачалоЭлемента("qp:Parameter");
    ОбъектXML.ЗаписатьНачалоЭлемента("qp:Name");
    ОбъектXML.ЗаписатьТекст("ИНН");
    ОбъектXML.ЗаписатьКонецЭлемента();//qp:Name
    ОбъектXML.ЗаписатьНачалоЭлемента("qp:Value");
    ОбъектXML.ЗаписатьТекст("9111111111");
    ОбъектXML.ЗаписатьКонецЭлемента();//qp:Value
    ОбъектXML.ЗаписатьКонецЭлемента();//qp:Parameter
    ОбъектXML.ЗаписатьКонецЭлемента();//qp:Parameters
    ОбъектXML.ЗаписатьКонецЭлемента();//ns:QueryClients
    ОбъектXML.ЗаписатьКонецЭлемента();//ns:Document
    ОбъектXML.ЗаписатьКонецЭлемента();//ns:Documents
    ОбъектXML.ЗаписатьТекст(Символы.ПС);
    ОбъектXML.Закрыть();

    //Определяем массив для процедуры ОбъединитьФайлы
    МассивФайловДляОбъединения = Новый Массив;

    //Формируем начальный фрагмент файла POST-запроса
    ИмяФайлаОтправкиНачало = ПолучитьИмяВременногоФайла("txt");
    ФайлОтправкиНачало = Новый ЗаписьТекста(ИмяФайлаОтправкиНачало, КодировкаТекста.ANSI, Символы.ПС, Ложь);
    //Определяем раздел двоичных данных
    ФайлОтправкиНачало.ЗаписатьСтроку("--" + Boundary);
    //Указываем имя файла для передачи
    ФайлОтправкиНачало.ЗаписатьСтроку("Content-Disposition: form-data; name="xml_file"; filename="" + "select.xml" + "");
    //Указываем тип передаваемых данных.
    ФайлОтправкиНачало.ЗаписатьСтроку("Content-Type: text/xml; charset=utf-8");
    ФайлОтправкиНачало.ЗаписатьСтроку(");
    ФайлОтправкиНачало.Закрыть();

    МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиНачало);

    МассивФайловДляОбъединения.Добавить(ИмяФайлаДляЗагрузки);

    //Формируем конечный фрагмент файла POST-запроса
    ИмяФайлаОтправкиКонец = ПолучитьИмяВременногоФайла("txt");
    ФайлОтправкиКонец = Новый ЗаписьТекста(ИмяФайлаОтправкиКонец, КодировкаТекста.ANSI, Символы.ПС, Ложь);

    //Завершение раздела двоичных данных
    //Завершение сообщения для сервера

    ФайлОтправкиКонец.ЗаписатьСтроку("--" + Boundary + "--");
    ФайлОтправкиКонец.Закрыть();

    МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиКонец); // !!! 3 добавление в массив

    //Теперь сформированные фрагменты сообщения для сервера объединяем в один файл POST-запроса
    ОбъединитьФайлы(МассивФайловДляОбъединения, ИмяФайлаОтправки);

    КонецПроцедуры
```
---
у меня вот такой вот запрос и оно в качестве http-ответа выдаёт статус 403. а именно
{"timestamp":"2021-05-27T10:28:00.833+00:00","status":403,"error":"Forbidden","message":"","path":"/opt/in/WayBill_v3"}

```1c
    Процедура ПередачаДанныхВТранспортныйМодуль(ТранспортныйМодуль, АдресРесурса, ТекстЗапроса, РезультатВыполненияЗапроса = Неопределено, СДополнительнымРазделителем = Ложь) Экспорт

    РезультатВыполненияЗапроса = алкИнтеграцияЕГАИСКлиентСервер.ПараметрыВыполненияЗапросаТранспортногоМодуляЕГАИС(ТранспортныйМодуль);

    ВремГраница = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", ");

    ТелоЗапроса = Новый ТекстовыйДокумент();
    Если СДополнительнымРазделителем = Истина Тогда
    ТелоЗапроса.ДобавитьСтроку(");
    КонецЕсли;

    ТелоЗапроса.ДобавитьСтроку("--" + ВремГраница);
    ТелоЗапроса.ДобавитьСтроку("Content-Disposition: form-data; name="xml_file"; filename="input_file.xml"");
    ТелоЗапроса.ДобавитьСтроку("Content-Type: text/xml; charset=utf-8");
    ТелоЗапроса.ДобавитьСтроку(");
    ТелоЗапроса.ДобавитьСтроку(ТекстЗапроса); // <--- здесь сам текст xml запроса выгрзуки ТТН
    ТелоЗапроса.ДобавитьСтроку("--" + ВремГраница + "--");

    ТелоЗапросаСтрока = ТелоЗапроса.ПолучитьТекст();

    ИмяФайла = ПолучитьимяВременногоФайла("txt");
    ЗаписьТекста = Новый ЗаписьТекста(ИмяФайла);
    ЗаписьТекста.ЗаписатьСтроку(ТелоЗапросаСтрока);
    ЗаписьТекста.Закрыть();

    ФайлОтправки = Новый Файл(ИмяФайла);

    Попытка
    РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());
    HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса);
    HTTPЗапрос.Заголовки["Content-Type"] = "multipart/form-data; boundary=" + ВремГраница;
    HTTPЗапрос.Заголовки["Content-Lenght"] = РазмерФайлаОтправки;
    HTTPЗапрос.Заголовки["X-Requested-With"] = "XMLHttpRequest";
    HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайла);
    Исключение
    ЗаписьЖурналаРегистрации(НСтр("ru = 'ЕГАИС.Отправка запроса'"), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
    РезультатВыполненияЗапроса.Результат = Ложь;
    РезультатВыполненияЗапроса.ОписаниеОшибки = алкИнтеграцияЕГАИСКлиентСервер.ПолучитьСтэкОшибок(ОписаниеОшибки(),ИнформацияОбОшибке());
    КонецПопытки;

    Попытка
    Соединение = Новый HTTPСоединение(ТранспортныйМодуль.АдресСервера, ТранспортныйМодуль.ПортСервера);
    HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос);

    ОтветМодуляЕГАИС = HTTPОтвет.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
    Если HTTPОтвет.КодСостояния = 200 Тогда

    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(ОтветМодуляЕГАИС);

    ПостроительDOM = Новый ПостроительDOM;
    ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);

    УзлыURL = ДокументDOM.ПолучитьЭлементыПоИмени("url");

    Если УзлыURL.Количество() = 0 Тогда
    РезультатВыполненияЗапроса.ОписаниеОшибки = НСтр("ru = 'Сервер отклонил запрос: '" + ОтветМодуляЕГАИС);
    Возврат;
    КонецЕсли;

    Для каждого УзелURL Из УзлыURL Цикл

    Если НЕ ПустаяСтрока(УзелURL.ТекстовоеСодержимое) Тогда

    РезультатВыполненияЗапроса.ИдентификаторЗапроса = УзелURL.ТекстовоеСодержимое;
    РезультатВыполненияЗапроса.Результат = Истина;
    Прервать;
    КонецЕсли;

    КонецЦикла;

    ЧтениеXML.Закрыть();
    Если РезультатВыполненияЗапроса.Результат = Истина Тогда
    Попытка
    HTTPЗапрос = Новый HTTPЗапрос("/opt/in");
    HTTPОтветОбщий = Соединение.Получить(HTTPЗапрос);
    Если HTTPОтветОбщий.КодСостояния = 200 Тогда
    ОтветМодуляЕГАИСОбщий = HTTPОтветОбщий.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);

    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(ОтветМодуляЕГАИСОбщий);

    ПостроительDOM = Новый ПостроительDOM;
    ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);

    УзлыURL = ДокументDOM.ПолучитьЭлементыПоИмени("url");

    Для каждого УзелURL Из УзлыURL Цикл
    ЭлементИдентификатор=УзелURL.Атрибуты.ПолучитьИменованныйЭлемент("replyId");
    Если ЭлементИдентификатор = Неопределено Тогда
    Продолжить;
    КонецЕсли;
    Если РезультатВыполненияЗапроса.ИдентификаторЗапроса = ЭлементИдентификатор.ТекстовоеСодержимое Тогда

    СтруктураURI = алкИнтеграцияЕГАИСКлиентСервер.СтруктураURI(УзелURL.ТекстовоеСодержимое);
    АдресДокумента=СтрЗаменить(СтруктураURI.ПутьНаСервере,"opt/",");
    РезультатВыполненияЗапроса.Вставить("АдресДокумента",АдресДокумента);
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;
    Исключение
    КонецПопытки;
    КонецЕсли;
    ИначеЕсли HTTPОтвет.КодСостояния = 504 Тогда
    РезультатВыполненияЗапроса.Результат = Ложь;
    РезультатВыполненияЗапроса.ОписаниеОшибки = НСтр("ru = 'Нет связи с транспортным модулем.'");
    Иначе
    РезультатВыполненияЗапроса.Результат = Ложь;
    ДополнительноеОписание = ";

    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(ОтветМодуляЕГАИС);
    ЧтениеXML.ПерейтиКСодержимому();
    Если ЧтениеXML.Имя = "A" И ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
    Пока ЧтениеXML.Прочитать() Цикл
    Если ЧтениеXML.Имя = "error" И ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
    ЧтениеXML.Прочитать();
    ДополнительноеОписание = ЧтениеXML.Значение;
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;
    ЧтениеXML.Закрыть();

    Если ВРег(ДополнительноеОписание) = ВРег("null") Тогда
    РезультатВыполненияЗапроса.Вставить("НеклассифицированнаяОшибка", Истина);
    КонецЕсли;

    РезультатВыполненияЗапроса.ОписаниеОшибки = НСтр("ru = 'При выполнении запроса транспортный модуль ЕГАИС вернул ошибку:'")
    + ?(НЕ ПустаяСтрока(ДополнительноеОписание), Символы.ПС + ДополнительноеОписание, ")
    КонецЕсли;
    Исключение
    ЗаписьЖурналаРегистрации(НСтр("ru = 'ЕГАИС.Отправка запроса'"), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));

    РезультатВыполненияЗапроса.Результат = Ложь;
    РезультатВыполненияЗапроса.ОписаниеОшибки = алкИнтеграцияЕГАИСКлиентСервер.ПолучитьСтэкОшибок(ОписаниеОшибки(),ИнформацияОбОшибке());
    КонецПопытки;

    КонецПроцедуры
```
---
спасибо. это очень мне помогло. я хотя бы понял в какую сторону надо копать. всё получилось