Closed Dafafgh closed 7 months ago
Если посмотреть на лог, то видно, что драйвер получает новый токен, но он такой же как старый, поэтому ошибка не проходит. Мне кажется, что это ошибка сервера.
Виталий, добрый день. Провели совещание с вебкассой, Ардак настоятельно рекомендует по возможности исключить команды Cashboxes и Employee/List, насколько я понял: [11.01.2024 19:35:05.648 ] [00002640] [DEBUG] Post: http://localhost:1332/api/Cashboxes [27.12.2023 14:57:41.800 ] [00006196] [DEBUG] Post: https://devkkm.webkassa.kz/api/Employee/List
[12:57, 12.01.2024] Ардак Ахметов Webkassa: Здравствуйте Я ранее писал об этой ошибке. У вас на каждый запрос открывается новая сессия. Это ошибка появляется именно из-за этого. Сессию необходимо открыть только при начале работы системы и пользоваться ею все смену (24часа) В случае если пользователь закрыл приложение в середине смены и открыл снова открываете новую сессию. [12:59, 12.01.2024] Ардак Ахметов Webkassa: И второе. У вас постоянно происходят запросы списка пользователей и списка доступных касс. Сервер воспринимает это как спам и может блокировать такие сессии. На текущий момент ваша система постоянно отправляет запросы по списку кассиров и списку доступных касс. При этом сопровождая эти операции авторизацией на нашем сервере. Вот эти операции необходимо исключить
Ошибка локального сервера вебкассы безусловно есть, сессия похоже подвисла - это не наши проблемы, вебкасса разбирается с ней.
По поводу исключения команд прикладываю переписку с аргументами в пользу этого:
[15:19, 12.01.2024] Владимир Нестеренко: "Сервер жив, если вы получили токен." - в качестве сервера конкретно в нашем случае выступает локальный вебсервис, правильно? При старте кассового приложения мы должны быть уверены, что приложение в состоянии обслуживать клиента. Для этого мы используем команду Cashboxes. Почему это неправильно? [15:21, 12.01.2024] Ардак Ахметов Webkassa: Если локальный модуль отвалится в автономный режим(пропадет связь с сервером вебкассы) данная команда вернет ошибку. Она работает только в онлайн. [15:22, 12.01.2024] Ардак Ахметов Webkassa: это сервисная команда, которая требует связь с серверм [15:22, 12.01.2024] Владимир Нестеренко: а, теперь ясно [15:22, 12.01.2024] Владимир Нестеренко: тогда как нам проверить состояние локального сервера? [15:23, 12.01.2024] Ардак Ахметов Webkassa: авторизация [15:24, 12.01.2024] Владимир Нестеренко: но авторизацию стоит делать только раз в смену. Если приложение перегрузить в середине смены, то мы при старте приложения не сможем проверить состояние локального сервера? [15:25, 12.01.2024] Ардак Ахметов Webkassa: раз в смену при запуске программы [15:25, 12.01.2024] Ардак Ахметов Webkassa: если у вас произошла перезагрузка приложения авторизоваться рекомендуется в любом случае
Виталий, благодарю! Правда я не увидел попытки авторизации при запуске приложения, но Cashboxes более не отправляются.
Добрый день, как сейчас происходит смена токена? мы пробовали авторизоваться вчера и сегодня, в логах токен один и тот же
в логе некоторые попытки claim были не из приложения, а из тестдрайвера
[16.04.2024 19:52:19.557 ] [00004748] [DEBUG] => {"Token":"6b251826ff1e4023a26af22c67616aa3","CashboxUniqueNumber":"SWK00033442"} [16.04.2024 19:52:19.651 ] [00004748] [DEBUG] <= {"Errors":[{"Code":2,"Text":"Срок действия сессии истек"}]}
[17.04.2024 13:40:34.206 ] [00007024] [DEBUG] => {"Token":"6b251826ff1e4023a26af22c67616aa3","CashboxUniqueNumber":"SWK00033442"} [17.04.2024 13:40:34.316 ] [00007024] [DEBUG] <= {"Errors":[{"Code":2,"Text":"Срок действия сессии истек"}]}
debug20240417.txt SHTRIH-M-OPOS-1_2024.04.16.log SHTRIH-M-OPOS-1_2024.04.17.log
По логу видно, что при получении ошибки 2, "Срок действия сессии истек", драйвер пытается получить новое значение токена, для чего выполняет команду авторизации. В ответ драйвер получает старый токен. По идее сервер должен был прислать новый токен. Не знаю, как получить новый токен в такой ситуации.
в самом локальном сервере хранились прошлые незавершенные транзакции. они и мешали, после переустановки чистого локального сервера вебкассы токен успешно сменился. при следующем повторении разберем ситуацию с вебкассой
На стенде заказчика возвращается ошибка "Срок действия сессии истек", из-за этого хотел попробовать сменить токен. Автоматически токен не сменился
[11.01.2024 19:35:05.648 ] [00002640] [DEBUG] Post: http://localhost:1332/api/Cashboxes [11.01.2024 19:35:05.648 ] [00002640] [DEBUG] => {"Token":"0944cc84aa034e2db85e4f2711ca16ab"} [11.01.2024 19:35:06.780 ] [00002640] [DEBUG] <= {"Errors":[{"Code":2,"Text":"Срок действия сессии истек"}]} [11.01.2024 19:35:06.780 ] [00002640] [DEBUG] Post: http://localhost:1332/api/Authorize [11.01.2024 19:35:06.780 ] [00002640] [DEBUG] => {"Login":"Adilkhan.seilbekov@petroretail.kz","Password":"Aa123456789!"} [11.01.2024 19:35:07.299 ] [00002640] [DEBUG] <= {"Data":{"Token":"0944cc84aa034e2db85e4f2711ca16ab"}} [11.01.2024 19:35:07.299 ] [00002640] [DEBUG] Post: http://localhost:1332/api/Cashboxes [11.01.2024 19:35:07.299 ] [00002640] [DEBUG] => {"Token":"0944cc84aa034e2db85e4f2711ca16ab"} [11.01.2024 19:35:07.361 ] [00002640] [DEBUG] <= {"Errors":[{"Code":2,"Text":"Срок действия сессии истек"}]} [11.01.2024 19:35:07.361 ] [00002640] [DEBUG] Post: http://localhost:1332/api/Authorize [11.01.2024 19:35:07.361 ] [00002640] [DEBUG] => {"Login":"Adilkhan.seilbekov@petroretail.kz","Password":"Aa123456789!"} [11.01.2024 19:35:07.599 ] [00002640] [DEBUG] <= {"Data":{"Token":"0944cc84aa034e2db85e4f2711ca16ab"}} [11.01.2024 19:35:07.599 ] [00002640] [DEBUG] Post: http://localhost:1332/api/Cashboxes [11.01.2024 19:35:07.599 ] [00002640] [DEBUG] => {"Token":"0944cc84aa034e2db85e4f2711ca16ab"} [11.01.2024 19:35:07.646 ] [00002640] [DEBUG] <= {"Errors":[{"Code":2,"Text":"Срок действия сессии истек"}]} [11.01.2024 19:35:07.646 ] [00002640] [ERROR] OPOS_E_EXTENDED, 302, "Срок действия сессии истек"
SHTRIH-M-OPOS-1_2024.01.10.log SHTRIH-M-OPOS-1_2024.01.11.log