diadoc / diadocsdk-csharp

Official Diadoc SDK for C#
MIT License
35 stars 64 forks source link

Connect timed out #709

Open shteynvargmv opened 4 years ago

shteynvargmv commented 4 years ago

Добрый день! Подскажите, пожалуйста, кто-то сталкивался с частой ошибкой Connect timed out при обращении к Диадок из сторонней системы. С чем может быть связана? Может быть, есть какое-то ограничение по количеству вызовов, при превышении которого запросы начинают обрабатываться медленнее? Или замедление как-то связано с приближением окончания срока действия токена? Еще какие-нибудь варианты? Как можно побороться?

aeremina88 commented 4 years ago

Добрый день! Укажите, пожалуйста, какой type аутентификации Authenticate используете, boxId ящика, в котором наблюдаются проблемы и примерное время, когда последний раз была ошибка?

shteynvargmv commented 4 years ago

Добрый день! У нас используется Authenticate v1 без параметров query, по логину и паролю, boxid = 5976bc2a-6738-4e6c-a50e-d29f48944d2f примерно в 18-49 по Москве сервис https://diadoc-sdk.readthedocs.io/ru/latest/http/GetMyOrganizations.html

OlgaPetushina commented 4 years ago

Добрый день. Первым делом стоить посмотреть на сетевую инфраструктуру клиента, может есть проблемы с сеть. Для просмотра логов вышлите, например, первые 10 символов apikey, с которым запрос выполняете. У данного метода нет boxid в параметрах, по нему ничего не найдем.

shteynvargmv commented 4 years ago

Можно посмотреть https://diadoc-sdk.readthedocs.io/ru/latest/http/GeneratePrintForm.html 22.07 в 12:06:12 по Москве для boxid = 5976bc2a-6738-4e6c-a50e-d29f48944d2f. Apikey вы имеете в виду Токен?

OlgaPetushina commented 4 years ago

Посмотрели. В логах ничего не осело. Информация о ключе нам не поможет. Кажется, что проблема пока не связана с Диадоком, потому что у нас, если такие ситуации встречаются, то они обычно массовые, а не у конкретного клиента, ну и проявляются ни на всех методах.

shteynvargmv commented 4 years ago

Не могли бы вы еще посмотреть https://diadoc-sdk.readthedocs.io/ru/latest/http/PostMessagePatch.html 22.07 в 15:00:31 по Москве для boxid = 5976bc2a-6738-4e6c-a50e-d29f48944d2f? Пришел ответ Connect timed out, запрос был повторен через доли секунды, ответ был "Server returned HTTP response code: 400 Message: MessagePatchToPost.UniversalTransferDocumentBuyerTitles[0]: Entity with EntityId=0cc541cc-03e8-468d-bc7b-84e5bac471af can not be signed with more than one primary signature" как будто подпись была доставлена первым запросом. Подскажите, пожалуйста, могут быть такие проблемы из-за аутентификации через Authenticate v1?, он вроде как устарел, хотя работает.

shteynvargmv commented 4 years ago

Apikey (первые символы) - 69c60fbf-b5

ichechulina commented 4 years ago

Это точно не из-за аутентификации. То что запрос ушёл и выполнился, а вы получили connection time out, ещё раз подтверждает проблемы со стороны клиента. Вы отправили запрос, но разорвали соединение не дождавшись ответа. Вы можете залогировать момент начала запроса и момент разрыва по таймауту, чтобы понять укладывается ли запрос во внутренний таймаут DiadocSdk или соединение разрывается где то ниже в ОС?

Внутренний таймаут DiadocSdk 100 секунд.

shteynvargmv commented 4 years ago

Спасибо большое за помощь! Подключили к анализу сетевиков.