ЭДО-Лайт Честный Знак (Content is not allowed in prolog.)

Доброго времени суток :)
Никак не могу решить проблему с ошибками при отправке УПД в ЭДО-Лайт честного знака с помощью 1С 8.3 УПП.

Вообщем проблема такова что при отправке исправного файла через веб-интерфейс - все ок. При попытке чтения и отправки этого же самого файла через их метод API - "3.1. Метод загрузки файла информации продавца УПД согласно приказу 820 от 19.12.2018 № ММВ-7-15/820@ в формате XML" - отдает ошибку либо Content is not allowed in prolog. , либо Header length exceeded maximum header size of 4096 (если убрать переносы строк между "Content-Type: application/xml" и текстом base64 документа). Использую кодировку windows-1251 и в файле, и при чтении, и при передаче. Пытался перекодировать строку передачи в ANSI - не помогло. Использовал разные разновидности кода заполнения тела запроса - не помогло. Если сталкивались с такой проблемой, подскажите пжлст :)

Текущий код отправки (Подсмотрел отсюда - Тык)

Соединение = Новый HTTPСоединение("edo-gismt.crpt.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);

    HTTPЗапрос = Новый HTTPЗапрос("/api/v1/outgoing-documents");
    
    ВремГраница = "---------------------------" + СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
    
    HTTPЗапрос.Заголовки.Вставить("Authorization", "Bearer " + Токен);
    HTTPЗапрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary="+ВремГраница);
    
    Файл = Новый ТекстовыйДокумент;
    Файл.Прочитать(ПутьФайла);
    //СтрокаBase64 = ЗашифроватьBase64(Файл.ПолучитьТекст(),"windows-1251");
    СтрокаBase64 = ЗашифроватьBase64(ПерекодироватьСтроку(Файл.ПолучитьТекст(),КодировкаТекста.ANSI),КодировкаТекста.ANSI);
    
    СертификатДляОбмена = "9B82A4A04376F1FD4C6923858EAF96DA4CEB98C5"; //Отпечаток сертификата
    ПодписанныйТекст = ПодписатьТекст(СтрокаBase64,СертификатДляОбмена,Истина);
    
    ПС = Символы.ВК+Символы.ПС;
Тело = "";
    Тело = Тело + "--"+ВремГраница+ПС;
    Тело = Тело + "Content-Disposition: form-data; name=""content""; filename="""+ИмяФайла+".xml"""+ПС;
    Тело = Тело + "Content-Type: application/xml"+ПС+ПС;
    Тело = Тело + СтрокаBase64 +ПС;
 Тело = Тело + "--"+ВремГраница+"--"+ПС;
    
    HTTPЗапрос.УстановитьТелоИзДвоичныхДанных(ПолучитьДвоичныеДанныеИзСтроки(Тело,КодировкаТекста.ANSI));
    
    Ответ = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
    Попытка
        ID = ПрочитатьJSON(ЧтениеJSON).id;
        Возврат ID
    Исключение
        Сообщить(Ответ.ПолучитьТелоКакСтроку());
        Возврат Неопределено
    КонецПопытки;

З.Ы. Временно убрал "Content-Disposition: form-data; name=""signature""" - с ним потом разберусь

Старый код:

Соединение = Новый HTTPСоединение("edo-gismt.crpt.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
HTTPЗапрос = Новый HTTPЗапрос("/api/v1/outgoing-documents");
    
    ВремГраница = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
    
    HTTPЗапрос.Заголовки.Вставить("Authorization", "Bearer " + Токен);
    HTTPЗапрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary="+ВремГраница);
    
    Файл = Новый ТекстовыйДокумент;
    Файл.Прочитать(ПутьФайла);
СтрокаBase64 = ЗашифроватьBase64(Файл.ПолучитьТекст(),"windows-1251");

    ТелоЗапроса = Новый ТекстовыйДокумент();
    ТелоЗапроса.РазделительСтрок = Символы.ВК + Символы.ПС;
    ТелоЗапроса.ДобавитьСтроку("--" + ВремГраница);
    ТелоЗапроса.ДобавитьСтроку("Content-Disposition: form-data; name=""content""; filename="""+ИмяФайла+".xml""");
    ТелоЗапроса.ДобавитьСтроку("Content-Type: text/xml"+ПС);
        
    ТелоЗапроса.ДобавитьСтроку(СтрокаBase64);
    
    ТелоЗапроса.ДобавитьСтроку("--" + ВремГраница);
    ТелоЗапроса.ДобавитьСтроку("Content-Disposition: form-data; name=""signature"";"+ПС);
    
    ТелоЗапроса.ДобавитьСтроку(ПодписанныйТекст);
    
    ТелоЗапроса.ДобавитьСтроку("--" + ВремГраница + "--"+ПС);
    
    ТелоЗапросаСтрока = ТелоЗапроса.ПолучитьТекст();
    
    HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапросаСтрока, "windows-1251", ИспользованиеByteOrderMark.НеИспользовать);

Ответ = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
    Попытка
        ID = ПрочитатьJSON(ЧтениеJSON).id;
        Возврат ID
    Исключение
        Сообщить(Ответ.ПолучитьТелоКакСтроку());
        Возврат Неопределено
    КонецПопытки;


или  в систему, чтобы получать уведомления с ответами на ваши вопросы

Жирный текст
Прикрепить файл
С недавнего времени 2LT не пропускает УПД, выборочно (( разбираться не было времени, ТП помогла обработать, но в ЛК Диадок информация от ГИС МТ не поступила, так и висит с ошибкой. Похоже что с проблемой Специалисты знакомы, но документы до сих пор рушатся, именно на Получатель ЭДО Лайт. 
28.10.2022 11:41
Задайте вопрос команде Сообщества

Если у вас есть вопросы, связанные с работой Честного Сообщества или предложения по развитию нашей платформы, то напишите нам!

Если у вас вопросы, связанные с маркировкой, то задайте вопрос тут.

Ваше сообщение отправлено

Ожидайте ответ на электронную почту, указанную в обращении

Наверх
Войти в Cообщество
Впервые в сообществе? Зарегистрироваться
Войти через:
Регистрация в Сообществе
Регистрация участника оборота
Уже зарегистрированы?
или
Войти через GoogleВойти через Vk

Нажимая кнопку «Зарегистрироваться»,
Вы принимаете условия Пользовательского соглашения.

Регистрация Партнера/Интегратора
Уже зарегистрированы?
Регистрация Партнера/Интегратора
Уже зарегистрированы?

Нажимая кнопку «Зарегистрироваться»,
Вы принимаете условия Пользовательского соглашения.

Регистрация Партнера/Интегратора
Уже зарегистрированы?
Уже зарегистрированы?

Нажимая кнопку «Зарегистрироваться»,
Вы принимаете условия Пользовательского соглашения.

Регистрация в Сообществе

Редактировать изображение партнера/интегратора
Восстановление пароля
Проверьте почту

На почту отправлено письмо со ссылкой восстановления пароля

Восстановление пароля