Добрый день!
При работе сервиса Атол иногда происходят сбои. При отправке чека сервис возвращает Status code != 200.
Код:
10-31/19:10:40 INFO [event-proc-p-2-t-1] AutoprintProcessor - cashcheck autoprint (auto): payment #158383 (type_id=21) automatically printed on mapped printer #2...
10-31/19:10:40 INFO [event-proc-p-2-t-1] AtolCustom - ->{"login":"xxx","pass":"*****}
10-31/19:10:40 INFO [event-proc-p-2-t-1] AtolCustom - <-<html>
<head><title>502 Bad Gateway</title></head>
<body>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx</center>
</body>
</html>
connect: 0ms, write: 241ms, wait: 0ms, read: 68ms
10-31/19:10:40 ERROR [event-proc-p-2-t-1] AutoprintProcessor - cashcheck autoprint (auto): ERROR check (payment #158383 (type_id=21), on printer #2)
ru.bitel.bgbilling.common.BGException: error parse json from response: java.lang.String cannot be cast to org.json.JSONObject
at ru.smartkom.bgbilling.cashcheck.AtolCustom.doJsonRequest(AtolCustom.java:453)
at ru.smartkom.bgbilling.cashcheck.AtolCustom.getToken(AtolCustom.java:481)
at ru.smartkom.bgbilling.cashcheck.AtolCustom.operation(AtolCustom.java:203)
at ru.smartkom.bgbilling.cashcheck.AtolCustom.check(AtolCustom.java:352)
at ru.bitel.bgbilling.plugins.cashcheck.server.CashCheckUtils.printCheck(CashCheckUtils.java:103)
at ru.bitel.bgbilling.plugins.cashcheck.server.bean.AutoprintProcessor.processNewPayment(AutoprintProcessor.java:97)
at ru.bitel.bgbilling.plugins.cashcheck.server.PluginServerListener.notify(PluginServerListener.java:62)
at ru.bitel.bgbilling.kernel.event.AbstractConsumer.notify(AbstractConsumer.java:359)
at ru.bitel.bgbilling.kernel.event.Consumer.notify(Consumer.java:19)
at ru.bitel.bgbilling.kernel.event.Consumer.onMessage0(Consumer.java:112)
at ru.bitel.bgbilling.kernel.event.Consumer$EventListenerRunnable.runImpl(Consumer.java:51)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:87)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to org.json.JSONObject
at ru.smartkom.bgbilling.cashcheck.AtolCustom.doJsonRequest(AtolCustom.java:451)
... 15 more
10-31/19:10:40 INFO [event-proc-p-2-t-1] BalanceEventProcessor - Process event cid:9098; event:Event[ru.bitel.bgbilling.kernel.contract.balance.server.event.ConvergenceBalanc
При этом нет повторных попыток отправки чеков в случае сбоя Атол. Подскажите, пожалуйста, есть ли какое-нибудь решение.
Версия BGBilling:
Код:
bill: 8.0.325 / 20.09.2019 02:15:55
card: 8.0.204 / 20.09.2019 02:15:55
dialup: 8.0.305 / 20.09.2019 02:15:55
drweb: 8.0.64 / 20.09.2019 02:15:55
email: 8.0.167 / 20.09.2019 02:15:55
inet: 8.0.652 / 15.10.2019 20:33:49
ipn: 8.0.234 / 20.09.2019 02:15:56
mps: 8.0.183 / 24.09.2019 11:11:00
npay: 8.0.176 / 20.09.2019 02:15:56
phone: 8.0.265 / 01.10.2019 20:34:37
rentsoft: 8.0.45 / 20.09.2019 02:15:57
reports: 8.0.210 / 15.10.2019 20:33:50
rscm: 8.0.167 / 20.09.2019 02:15:57
ru.bitel.bgbilling.plugins.cashcheck: 8.0.143 / 09.10.2019 20:00:59
ru.bitel.bgbilling.plugins.cladr: 8.0.107 / 20.09.2019 02:15:58
trayinfo: 8.0.162 / 20.09.2019 02:15:57
tv: 8.0.233 / 09.10.2019 20:00:59
voiceip: 8.0.178 / 20.09.2019 02:15:58
Окружение:
Клиент:
os: Linux amd64, 4.15.0-66-generic
java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_211
jre home: /usr/lib/java/jdk1.8.0_211/jre
memory (use/total/max): 26M/82M/1755M
default tz: 06.11.2019 09:57 OMST +0600 (Asia/Omsk)
user tz: 06.11.2019 09:57 OMST +0600 (Asia/Omsk)
locale: ru_RU
Сервер:
os: Linux amd64, 3.10.0-957.27.2.el7.x86_64
java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_211
jre home: /opt/java/jdk1.8.0_211/jre
default tz: 06.11.2019 09:57 OMST +0600 (Asia/Omsk)
memory (use/total/max): 94M/204M/455M
db time: master: 06.11.2019 09:57 +06
db charset: connection: utf8(utf8_unicode_ci), database: utf8(utf8_unicode_ci)
locale: ru_RU