Ошибки лицензирования XML SAAS
В данной статье приведены частые ошибки и их решения, которые могут возникнуть после настройки интеграции со сторонними системами по инструкции для самостоятельной диагностики.
Если вы не нашли своей ошибки или решение не помогло, обратитесь в службу поддержки и опишите, какие шаги для исправления были предприняты.
Ошибка 5239
Общая Ошибка ErrorText="License check for 'XML SAAS' failed: ... (code: ...)." RK7ErrorN="5239"
ErrorText="License check for 'XML SAAS' failed: Лицензия не найдена на сервере лицензирования (code: 201)"
Эта ошибка означает, что не найдена лицензия, заданная якорем "6:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx#rrrrrrrrr/17", где xx...xx — ProductGUID, а rrrrrrrrr — полный код ресторана.
Для решения проблемы:
- Перейдите в систему лицензирования и проверьте, что лицензия приобретена
- Проверьте, что у вас правильно настроена связь с сервером проверки лицензии
- Проверьте ini-файл: возможно присутствуют записи LicServerIP=..., перенаправляющие на другой сервер лицензирования. Если это так, удалите записи
- Проверьте доступность сервера проверки лицензий l.ucs.ru:60606.
ErrorText="License check for 'XML SAAS' failed: Лицензия была удалена на сервере лицензирования (code: 202)"
Для решения проблемы:
- Перейдите в систему лицензирования и проверьте, что лицензия приобретена
- Проверьте ini-файл: возможно присутствуют записи LicServerIP=..., перенаправляющие на другой сервер лицензирования. Если это так, удалите записи.
ErrorText="License check for 'XML SAAS' failed: Лицензия не соответствует запросу лицензии (code: 2)"
Неверное значение атрибута licenseToken.
После того, как была выписана новая лицензия, в том числе автоматически, необходимо обновить значение licenseToken через запрос к системе лицензирования GetLicenseIdByAnchor. Подробнее читайте в инструкции Работа с XML интерфейсом по подписке.
Ошибка 5304
Ошибка ErrorText="Инстанс лицензии не найден." RK7ErrorN="5304"
Инстанс, или экземпляр, лицензии ведет последовательность номеров.
Если экземпляр не найден, можно создать новый. Для этого необходимо передать новый seqNumber="0" в любой запрос, кроме GetXMLLicenseInstanceSeqNumber.
Экземпляр создастся автоматически, деактивировав наиболее старый, если количество экземпляров больше количества лицензии.
После выполнения запросы параметр seqNumber следующего запроса должен быть равен 1.
Ошибка 5305
Ошибка ErrorText="В инстансе неверно заполнен атрибут seqNumber" RK7ErrorN="5305"
При этой ошибке в логе будет запись:
5305:Instance have wrong seqNumber. SeqNumber bust be in [n, n+1]
где n — номер последнего запроса, n+1 — ожидаемый номер следующего.
Кассовый сервер ведет по каждому экземпляру последовательность номеров. Если прошлый запрос имел seqNumber=n, то следующий должен иметь seqNumber=n+1. Допускается повтор запроса, но только полный повтор с полностью тем же текстом XML.
Причины и решения ошибки:
- Интегрирующееся с r_keeper 7 ПО должно хранить seqNumber, увеличивая при каждом запросе.
Если существует несколько потоков, которые работают параллельно, запросы следует отправлять в r_keeper 7 через общий гейт. Либо купить несколько лицензий и вести несколько последовательностей. - Кто-то пытается использовать XML SAAS в обход лицензии, послав несколько раз правильный номер seqNumber. Номер увеличится, и в итоге следующий запрос даст ошибку.
Необходимо исключить использование ПО, обходящего лицензирование. - При получении ошибки 5305, запросите правильный номер следующего запроса через GetXMLLicenseInstanceSeqNumber.
Обратите внимание, что нельзя выполнять эту команду перед каждым запросом, так как минимальное время между вызовами этой команды составляет одну минуту.
Ошибка 5306
Ошибка ErrorText="Превышено количество подключений по лицензии n." RK7ErrorN="5306"
При ошибке
ErrorText="Превышено количество подключений по лицензии n." RK7ErrorN="5306"
n — число в лицензии.
Ошибка появляется при попытке использовать существующий экземпляр, который был деактивирован при создании других экземпляров. Подробнее читайте в разделе Ошибка 5305.
Причина ошибки: кто-то попытается использовать XML SAAS в обход лицензии, сгенерировав новый экземпляр. Новый экземпляр создастся, а самый старый из n активных дезактивируется
Решение: исключите использование ПО, обходящего лицензирование.
Ошибка 5307
Ошибка ErrorText="С даты активации последнего инстанса прошло менее суток." RK7ErrorN="5307"
За сутки можно активировать не больше 2*l+5, где l — количество в лицензии.
Нельзя постоянно генерировать новый инстанс.
Новый инстанс необходимо генерировать при инсталляции.
Ошибка 5310
Ошибка ErrorText="SeqNumber должен быть увеличен" RK7ErrorN="5310"
Причина: вызван новый запрос с тем же номером seqNumber, что и предыдущий запрос, но seqNumber должен увеличиваться на 1 при каждом новом запросе. Это значит, что кто-то пытается использовать XML SAAS в обход лицензии, послав правильный номер seqNumber. Номер увеличится, в итоге следующий запрос от честного ПО покажет ошибку 5308.
Решение: исключите использование ПО, обходящего лицензирование.
Ошибка 5311
Ошибка ErrorText="Инстанс лицензии был деактивирован" RK7ErrorN="5311"
Причина: ошибка появляется только для команды GetXMLLicenseInstanceSeqNumber, если указанный инстанс был дезактивирован при создании нового.
Для других запросов в аналогичной ситуации будет выдана ошибка 5306.