forum.bitel.ru http://forum.bitel.ru/ |
|
Ошибка "Index: 0, Size: 0" http://forum.bitel.ru/viewtopic.php?f=32&t=8516 |
Страница 1 из 1 |
Автор: | abu [ 03 окт 2013, 09:38 ] |
Заголовок сообщения: | Ошибка "Index: 0, Size: 0" |
Настроил модуль ASSIST для работы со следующей конфигурацией: Код: # Заголовок пункта меню веб-статистики. web.menuItem1=Оплата через Assist.Ru # Тип платежа (ID), куда должны приписываться все проводимые платежи. assist.paymenttype=7 # Код магазина в системе ASSIST. assist.Merchant_ID=*** # Полный адрес голого webexecuter. Используется для построения обратного пути, куда будет переводиться редиректом клиент после завершения транзакции. assist.path=https://***:8443/bgbilling/webexecuter # Комментарий. Данный параметр передаётся в ASSIST и отображается в выписках по операциям (доступны только эти два макроса). assist.OrderComment=Оплата по договору ${contract} (${contract_comment}) # Комментарий добавляемого платежа (доступны указанные макросы). assist.payment_comment=Оплата по дог. ${contract} (${contract_comment}) через Assist (Платёж #${billnumber})(Плательщик: ${name})(Карта ${cardnumber} ${cardtype}/${cardsubtype}, держатель: ${cardholder}) от ${date}, сумма ${total} # Признак авторизации кредитной карты при двустадийном механизме работы (0 – нормальный режим, 1 – режим авторизации кредитной карты). По умолчанию - нормальный режим. #assist.Delay=0 # Логин sale в магазине assist.login=*** # Пароль sale в магазине assist.password=*** # Производить оплату по кредитной карте. (1 – использовать, 0 – не использовать). Если данный параметр не передаётся, то по умолчанию его значение установлено в 0. assist.CardPayment=1 # Использовать платёжную систему WebMoney Transfer. (1 - использовать, 0 - не использовать). assist.WMPayment=0 # Использовать платёжную систему Яндекс.Деньги. (1 - использовать, 0 - не использовать). assist.YMPayment=0 # оплата кредитной картой с использованием Assist®ID (1 - использовать, 0 - не использовать) assist.AssistIDPayment=0 # QIWI assist.QIWIPayment=0 assist.QIWIMtsPayment=0 assist.QIWIMegafonPayment=0 assist.QIWIBeelinePayment=0 # Режим работы # test — магазин подключен в тестовом режиме # battle — магазин подключен в рабочем режиме # battletest — магазин подключен в рабочем режиме, но надо совершать тестовые запросы (установка TestMode=1) assist.ShopMode=battle # можно перегрузить (безусловно от режима работы магазина) адрес отправки параметров (если дали персональный) assist.actionUrl=https://***.paysecure.ru/pay/order.cfm Оплата проходит, при этом на некоторых платежах, имеющих статус "В обработке", при нажатии на кнопку "Принудительный запрос и обновление статуса" получаю сообщение "Index: 0, Size: 0" : Ошибка на сервере: Код: server 10-03/13:07:34 ERROR ["http-bio-/0.0.0.0-8443"-exec-5] CommonExecuter - Index: 0, Size: 0 java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.RangeCheck(ArrayList.java:547) at java.util.ArrayList.get(ArrayList.java:322) at ru.bitel.bgbilling.modules.assist.server.action.ActionPayResult.doAction(ActionPayResult.java:92) at bitel.billing.server.Executer.doModule(Unknown Source) at bitel.billing.server.Executer$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at bitel.billing.server.Executer.doPost(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:140) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Ошибка в платежах в личном кабинете ASSIST для всех случаев платежей, находящихся в обработке (и с ошибкой, и с корректным возвратом после принудительного обновления и запроса статуса) - "Истекло время ожидания ввода данных." Статус операции в личном кабинете биллинга - "В обработке". Информация о версии: Клиент: вер. 6.0 сборка 1230 от 23.08.2013 15:56:00 os: Linux; java: Java HotSpot(TM) Server VM, v.1.6.0_35 Сервер: вер. 6.0 сборка 1567 от 23.08.2013 15:56:05 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_35 assist вер. 6.0 сборка 102 от 31.05.2013 13:55:15 bill вер. 6.0 сборка 324 от 05.08.2013 18:40:29 card вер. 6.0 сборка 216 от 21.06.2013 20:36:07 dba вер. 6.0 сборка 162 от 31.05.2013 13:55:38 enaza вер. 6.0 сборка 60 от 31.05.2013 13:55:47 gorod вер. 6.0 сборка 167 от 31.05.2013 13:55:47 inet вер. 6.0 сборка 1224 от 23.08.2013 19:14:08 mps вер. 6.0 сборка 184 от 01.08.2013 19:36:16 npay вер. 6.0 сборка 216 от 15.07.2013 19:33:22 paylinks вер. 6.0 сборка 31 от 31.05.2013 13:56:59 qiwi вер. 6.0 сборка 38 от 15.08.2013 16:23:03 rentsoft вер. 6.0 сборка 57 от 31.05.2013 13:57:33 reports вер. 6.0 сборка 204 от 31.05.2013 13:57:34 rscm вер. 6.0 сборка 186 от 01.08.2013 19:36:18 ru.bitel.bgbilling.plugins.cladr вер. 6.0 сборка 120 от 31.05.2013 13:57:05 ru.bitel.bgbilling.plugins.dispatch вер. 6.0 сборка 84 от 01.08.2013 19:36:16 trayinfo вер. 6.0 сборка 174 от 31.05.2013 13:57:39 wellpay вер. 6.0 сборка 34 от 31.05.2013 13:58:21 wm вер. 6.0 сборка 188 от 31.05.2013 13:58:41 yamoney вер. 6.0 сборка 62 от 10.07.2013 13:44:49 Можно ли эту ошибку как-то исправить либо это штатное поведение системы? |
Автор: | dimOn [ 03 окт 2013, 12:23 ] |
Заголовок сообщения: | Re: Ошибка "Index: 0, Size: 0" |
в смысле вообще для всех автоматически не приходит подтверждение оплаты? или только некоторые висят в "обработке" и при этом из них "на некоторых платежах" такое происходит уже при ручном запросе? Далее, "Истекло время ожидания ввода данных." - это, если правильно понимаю, те случаи, когда юзер недозавершил оплату. Например, перешёл на ассист и забил. При этом запись о переходе уже была создана и в ЛК отображается. Так что реально в ассисте нет платежа такого. Наверно, так. Или есть информация, что это реальные платежи и они должны быть оплачены? |
Автор: | abu [ 03 окт 2013, 13:01 ] |
Заголовок сообщения: | Re: Ошибка "Index: 0, Size: 0" |
dimOn писал(а): в смысле вообще для всех автоматически не приходит подтверждение оплаты? При правильной оплате все приходит правильно. dimOn писал(а): или только некоторые висят в "обработке" и при этом из них "на некоторых платежах" такое происходит уже при ручном запросе? да dimOn писал(а): Далее, "Истекло время ожидания ввода данных." - это, если правильно понимаю, те случаи, когда юзер недозавершил оплату. Например, перешёл на ассист и забил. При этом запись о переходе уже была создана и в ЛК отображается. Так что реально в ассисте нет платежа такого. Наверно, так. Или есть информация, что это реальные платежи и они должны быть оплачены? Все верно. 1. Это платежи, на которые пользователь "забил", что и подтверждается информацией "Истекло время ожидания ввода данных" в личном кабинете ASSIST. 2. Эти платежи в биллинге показываются со статусом "В обработке". Все эти платежи есть в информации по платежам личного кабинета ASSIST. 3. Если в биллинге на платежах со статусом "В обработке" нажать на кнопку "Принудительный запрос и обновление статуса", то либо выдается сообщение о статусе, например: "Результат: FAIL (не проведен) ...", либо выдается указанное на скриншоте сообщение с ошибкой в логах сервера биллинга. |
Автор: | dimOn [ 03 окт 2013, 13:48 ] |
Заголовок сообщения: | Re: Ошибка "Index: 0, Size: 0" |
Цитата: Все эти платежи есть в информации по платежам личного кабинета ASSIST. И те, которые возвращают файл и те, которые такой косяк? ничем не отличаются вообще в личном кабинете ассиста?на обеих там стоит файл для заказа? там в ЛК ассиста можно посмотреть операции на заказе. полагаю, что на первых будет как минимум одна операция фэйл (это значит всё же попытка транзакции была какая-то). а на вторых не будет операций вообще? (наверно это когда не дождались перехода или что-то типа того). проверьте, пожалуйста? |
Автор: | dimOn [ 03 окт 2013, 14:05 ] |
Заголовок сообщения: | Re: Ошибка "Index: 0, Size: 0" |
И, кстати, поройтесь в логах сервера. Не падал ли с подобной ошибкой assistexecuter когда ассист пытался ему сообщить о статусе заказа без переданных операций. |
Автор: | dimOn [ 03 окт 2013, 14:10 ] |
Заголовок сообщения: | Re: Ошибка "Index: 0, Size: 0" |
а нет... в сервлет приходит всегда одна операция, там с некоторых времён другая структура. там вряд ли косяк, но на всякий случай прогрепайте логи на предмет ассиста. |
Автор: | abu [ 03 окт 2013, 17:24 ] |
Заголовок сообщения: | Re: Ошибка "Index: 0, Size: 0" |
dimOn писал(а): а нет... в сервлет приходит всегда одна операция, там с некоторых времён другая структура. там вряд ли косяк, но на всякий случай прогрепайте логи на предмет ассиста. Логи сервера у меня с начала 30 сентября, ошибки только те, когда я вручную делал запрос (вчера обнаружил, сегодня уже проверял). За этот период есть и успешные платежи, и неуспешные, и зависшие (в обработке). Еще в логах есть такая, скорее всего незначительная, штука: Код: 10-02/11:32:47 WARN ["http-bio-/0.0.0.0-8443"-exec-9] ActionBase - Assist: Ошибка запроса результата платежа: ordernumber=94,cid=-1 Это сообщение возникает при запросе статуса вручную других, отличных от тех, по которым здесь обсуждается ошибка, платежей, находящихся в обработке, в биллинге сообщение: "Результат: FAIL (не проведен) Сообщение: Ошибка! Запросить результат платежа не удалось. Exception: Ошибка "Отсутствие объекта ": Объект Заказ (10:201)" Больше пока ничего не нашел. Информацию, которую вы спрашиваете по ЛК Ассиста посмотрю завтра, на работе. |
Автор: | dimOn [ 03 окт 2013, 17:47 ] |
Заголовок сообщения: | Re: Ошибка "Index: 0, Size: 0" |
Отсутствие объекта - это значит до ассиста результат не дошёл. Оно так и будет, нормально же, FAIL установился и ладно. А как ещё? По остальным вопросам пока подожду, надо разобраться из-за чего такое произойти может. Вернее, я нашёл почему падает - подразумевается что есть хоть одна операция, а её нет почему-то. По протоколу я такого не помню, но теоретически быть может. Но ни у кого ни разу ещё не было. Надо поглядеть что про них в ЛК ассиста говорят. |
Автор: | abu [ 04 окт 2013, 09:44 ] |
Заголовок сообщения: | Re: Ошибка "Index: 0, Size: 0" |
dimOn писал(а): Цитата: Все эти платежи есть в информации по платежам личного кабинета ASSIST. И те, которые возвращают файл и те, которые такой косяк? ничем не отличаются вообще в личном кабинете ассиста?на обеих там стоит файл для заказа? там в ЛК ассиста можно посмотреть операции на заказе. полагаю, что на первых будет как минимум одна операция фэйл (это значит всё же попытка транзакции была какая-то). а на вторых не будет операций вообще? (наверно это когда не дождались перехода или что-то типа того). проверьте, пожалуйста? Вроде бы так оно и есть, как вы предполагаете. Вот информация с ЛК, выделенные платежи не имеют операций вообще (как раз по ним и выходит ошибка): и выглядят, например, вот так: остальные платежи, которые зависли в обработке и информация по ним в биллинге есть, имеют фэйловую операцию: и похоже на то, что: Цитата: подразумевается что есть хоть одна операция, а её нет почему-то.
|
Автор: | dimOn [ 04 окт 2013, 14:00 ] |
Заголовок сообщения: | Re: Ошибка "Index: 0, Size: 0" |
понятно... короче, так. 1. чтобы с отсутствующими операциями не ругалось так - я исправлю в ближ. время. 2. те что нормальные, с операциями - там исправлять нечего, руками нормально запрашиваются как я понял. по поводу п.1 и п.2 - надо разбираться почему оно вовремя не пришло оповещение к вам в сервлет. с отсутствующими или присутствующими операциями это не связано - сервлет должн был нормально отработать эти ситуации, т.к. механизм разбора ответа там другой. потому тут надо выяснять ещё почему оно зависло в обработке. 3. немного надо переписать логику модуля - но это наверно к след. версии только. |
Автор: | dimOn [ 04 окт 2013, 14:02 ] |
Заголовок сообщения: | Re: Ошибка "Index: 0, Size: 0" |
стоп!!1 а у вас в личном кабинете ассиста случайно не стоит галочка "отправлять только успешные"? 99% что стоит, потому фэйлы и не приходят, что-то я забыл про такой случай если это так, то п1 и п2 неактуальны особо, руками запрашивать и не придётся, но исправить ошибку всё равно надо если вдруг операций нету и правда. |
Автор: | abu [ 04 окт 2013, 15:07 ] |
Заголовок сообщения: | Re: Ошибка "Index: 0, Size: 0" |
Действительно - такая галка стоит. Спасибо вам за разъяснения и помощь. Главное, что все основное работает, в принципе мне лично и так понятно, что платеж не прошел, просто пользователи начинают потихоньку осваиваться в биллинге все глубже и начинают задавать вопросы. |
Автор: | dimOn [ 04 окт 2013, 15:35 ] |
Заголовок сообщения: | Re: Ошибка "Index: 0, Size: 0" |
Тогда основные вопросы снимаются, в некотором ближайшем будущем записал немного порефакторить модуль. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |