HTTPОтвет 413 при получении токена Диадок

1. Karpekin717 26.05.23 04:34 Сейчас в теме
Здравствуйте, при получении токена (HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос)) получаю ошибку 413.

<ht ml>
<head><title>413 Request Entity Too Large</title></head>
<body>
<center><h1>413 Request Entity Too Large</h1></center>
<hr><center>nginx</center>
</body>
</html>

Файл не передаем, размер ДД небольшой.

На своей рабочей машине попробовал на Клиенте, работает. Попробовал на сервере, ошибка. Перешел на другой сервер, точно такой же код и на клиенте и на сервере выдает ошибку.

Возможно ли настройка системная, но куда обратить внимание?

Версия 8.3.22. 1923
Прикрепленные файлы:
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. stalker_e30 22.07.23 06:23 Сейчас в теме
Привет. Я столкнулся с такой же проблемой. Долбал техподдержку Диадока три дня. В итоге нашел твое сообщение и предположил, что проблема в платформе 8.3.22. 1923. Так и оказалось. Я переставил платформу на 8.3.20.2184 и все заработало тут же.
3. Karpekin717 25.07.23 04:56 Сейчас в теме
(2)Привет, уже забыл про данный пост) В общем исправилось все так:

При авторизации используется метод /Authenticate в тело запроса которого передавалось раньше ДвоичныеДанные (HTTPЗапрос.УстановитьТелоИзДвоичныхДанных).
Теперь ДвоичныеДанные переводим в XMLСтроку и передаем (HTTPЗапрос.УстановитьТелоИзСтроки)

//HTTPЗапрос.УстановитьТелоИзДвоичныхДанных(ДвоичныеДанныеСертификата); 
СодержимоеФайла = XMLСтрока(ДвоичныеДанныеСертификата);
HTTPЗапрос.УстановитьТелоИзСтроки(СодержимоеФайла, "windows-1251", ИспользованиеByteOrderMark.НеИспользовать);

Вдруг кому пригодится)
Shootoff; +1 Ответить
4. Karpekin717 25.07.23 04:57 Сейчас в теме
(3)Мы откатили версию, и вариант с передачей XMLСтрока работает там тоже.
5. aldor188 15 06.09.23 13:31 Сейчас в теме
(3) А можно подробнее - где это исправить? В каком модуле такой код?
6. Karpekin717 07.09.23 01:09 Сейчас в теме
(5)Везде где используется авторизация в Диадок из 1С, например:

Функция Авторизация_Диадок(КлючРазработчика, ДвоичныеДанныеСертификата) Экспорт

ЗаголовокHTTP = Новый Соответствие;
ЗаголовокHTTP.Вставить("Authorization",	СтрШаблон("DiadocAuth ddauth_api_client_id=%1", КлючРазработчика));
ЗаголовокHTTP.Вставить("Accept",		"application/json");
	
HTTPСоединение = СоздатьHTTPСоединение();
HTTPЗапрос          = Новый HTTPЗапрос("/Authenticate", ЗаголовокHTTP);  
	
//Раньше использовали:	
//HTTPЗапрос.УстановитьТелоИзДвоичныхДанных(ДвоичныеДанныеСертификата); 
//
//Теперь используем:
СодержимоеФайла = XMLСтрока(ДвоичныеДанныеСертификата);
HTTPЗапрос.УстановитьТелоИзСтроки(СодержимоеФайла, "windows-1251", ИспользованиеByteOrderMark.НеИспользовать);

	
Результат = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
Показать
10. babun3131 18.10.23 18:17 Сейчас в теме
(6)весь модуль (обработку) прорыли не нашли. Подскажите где именно?
11. Karpekin717 20.10.23 06:54 Сейчас в теме
(10) А у вас типовой модуль Диадок?
12. babun3131 06.02.24 13:14 Сейчас в теме
13. ysobol 08.05.24 10:06 Сейчас в теме
(6) Пригодилось и даже очень!
Метод помог но не с диадоком а с 1С ЭДО - была ошибка 413 request to large.

Поискал везде где двоичные данные в тело заполняются, выбрал нужную обработку, как описано перевёл в xml, тело из строки и всё взлетело!

Большое спасибо!
Karpekin717; +1 Ответить
7. Nandarou 19.09.23 08:27 Сейчас в теме
Я как понял, это только на 64 битной платформе происходит?
8. Karpekin717 20.09.23 01:46 Сейчас в теме
9. Nedovizin 10.10.23 14:53 Сейчас в теме
В настройках IIS Фильтрация запросов / Изменить параметры - указать максимально допустимую длину содержимого в байтах. Я так решил проблему
Karpekin717; +1 Ответить
Оставьте свое сообщение

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