BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 мар 2024, 21:15

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Ошибка "Index: 0, Size: 0"
СообщениеДобавлено: 03 окт 2013, 09:38 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 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

Можно ли эту ошибку как-то исправить либо это штатное поведение системы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка "Index: 0, Size: 0"
СообщениеДобавлено: 03 окт 2013, 12:23 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
в смысле вообще для всех автоматически не приходит подтверждение оплаты?
или только некоторые висят в "обработке" и при этом из них "на некоторых платежах" такое происходит уже при ручном запросе?

Далее, "Истекло время ожидания ввода данных." - это, если правильно понимаю, те случаи, когда юзер недозавершил оплату. Например, перешёл на ассист и забил. При этом запись о переходе уже была создана и в ЛК отображается. Так что реально в ассисте нет платежа такого. Наверно, так. Или есть информация, что это реальные платежи и они должны быть оплачены?

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка "Index: 0, Size: 0"
СообщениеДобавлено: 03 окт 2013, 13:01 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
dimOn писал(а):
в смысле вообще для всех автоматически не приходит подтверждение оплаты?

При правильной оплате все приходит правильно.

dimOn писал(а):
или только некоторые висят в "обработке" и при этом из них "на некоторых платежах" такое происходит уже при ручном запросе?

да

dimOn писал(а):
Далее, "Истекло время ожидания ввода данных." - это, если правильно понимаю, те случаи, когда юзер недозавершил оплату. Например, перешёл на ассист и забил. При этом запись о переходе уже была создана и в ЛК отображается. Так что реально в ассисте нет платежа такого. Наверно, так. Или есть информация, что это реальные платежи и они должны быть оплачены?

Все верно.

1. Это платежи, на которые пользователь "забил", что и подтверждается информацией "Истекло время ожидания ввода данных" в личном кабинете ASSIST.
2. Эти платежи в биллинге показываются со статусом "В обработке". Все эти платежи есть в информации по платежам личного кабинета ASSIST.
3. Если в биллинге на платежах со статусом "В обработке" нажать на кнопку "Принудительный запрос и обновление статуса", то либо выдается сообщение о статусе, например: "Результат: FAIL (не проведен) ...", либо выдается указанное на скриншоте сообщение с ошибкой в логах сервера биллинга.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка "Index: 0, Size: 0"
СообщениеДобавлено: 03 окт 2013, 13:48 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Цитата:
Все эти платежи есть в информации по платежам личного кабинета ASSIST.
И те, которые возвращают файл и те, которые такой косяк? ничем не отличаются вообще в личном кабинете ассиста?
на обеих там стоит файл для заказа?
там в ЛК ассиста можно посмотреть операции на заказе. полагаю, что на первых будет как минимум одна операция фэйл (это значит всё же попытка транзакции была какая-то). а на вторых не будет операций вообще? (наверно это когда не дождались перехода или что-то типа того). проверьте, пожалуйста?

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка "Index: 0, Size: 0"
СообщениеДобавлено: 03 окт 2013, 14:05 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
И, кстати, поройтесь в логах сервера. Не падал ли с подобной ошибкой assistexecuter когда ассист пытался ему сообщить о статусе заказа без переданных операций.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка "Index: 0, Size: 0"
СообщениеДобавлено: 03 окт 2013, 14:10 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
а нет... в сервлет приходит всегда одна операция, там с некоторых времён другая структура. там вряд ли косяк, но на всякий случай прогрепайте логи на предмет ассиста.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка "Index: 0, Size: 0"
СообщениеДобавлено: 03 окт 2013, 17:24 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 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)"

Больше пока ничего не нашел. Информацию, которую вы спрашиваете по ЛК Ассиста посмотрю завтра, на работе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка "Index: 0, Size: 0"
СообщениеДобавлено: 03 окт 2013, 17:47 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Отсутствие объекта - это значит до ассиста результат не дошёл. Оно так и будет, нормально же, FAIL установился и ладно. А как ещё?

По остальным вопросам пока подожду, надо разобраться из-за чего такое произойти может. Вернее, я нашёл почему падает - подразумевается что есть хоть одна операция, а её нет почему-то. По протоколу я такого не помню, но теоретически быть может. Но ни у кого ни разу ещё не было. Надо поглядеть что про них в ЛК ассиста говорят.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка "Index: 0, Size: 0"
СообщениеДобавлено: 04 окт 2013, 09:44 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
dimOn писал(а):
Цитата:
Все эти платежи есть в информации по платежам личного кабинета ASSIST.
И те, которые возвращают файл и те, которые такой косяк? ничем не отличаются вообще в личном кабинете ассиста?
на обеих там стоит файл для заказа?
там в ЛК ассиста можно посмотреть операции на заказе. полагаю, что на первых будет как минимум одна операция фэйл (это значит всё же попытка транзакции была какая-то). а на вторых не будет операций вообще? (наверно это когда не дождались перехода или что-то типа того). проверьте, пожалуйста?


Вроде бы так оно и есть, как вы предполагаете. Вот информация с ЛК, выделенные платежи не имеют операций вообще (как раз по ним и выходит ошибка):

Изображение

и выглядят, например, вот так:

Изображение

Изображение

остальные платежи, которые зависли в обработке и информация по ним в биллинге есть, имеют фэйловую операцию:

Изображение

Изображение

и похоже на то, что:

Цитата:
подразумевается что есть хоть одна операция, а её нет почему-то.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка "Index: 0, Size: 0"
СообщениеДобавлено: 04 окт 2013, 14:00 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
понятно... короче, так.

1. чтобы с отсутствующими операциями не ругалось так - я исправлю в ближ. время.
2. те что нормальные, с операциями - там исправлять нечего, руками нормально запрашиваются как я понял.

по поводу п.1 и п.2 - надо разбираться почему оно вовремя не пришло оповещение к вам в сервлет. с отсутствующими или присутствующими операциями это не связано - сервлет должн был нормально отработать эти ситуации, т.к. механизм разбора ответа там другой. потому тут надо выяснять ещё почему оно зависло в обработке.

3. немного надо переписать логику модуля - но это наверно к след. версии только.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка "Index: 0, Size: 0"
СообщениеДобавлено: 04 окт 2013, 14:02 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
стоп!!1 а у вас в личном кабинете ассиста случайно не стоит галочка "отправлять только успешные"? 99% что стоит, потому фэйлы и не приходят, что-то я забыл про такой случай :facepalm:
если это так, то п1 и п2 неактуальны особо, руками запрашивать и не придётся, но исправить ошибку всё равно надо если вдруг операций нету и правда.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка "Index: 0, Size: 0"
СообщениеДобавлено: 04 окт 2013, 15:07 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Действительно - такая галка стоит.

Спасибо вам за разъяснения и помощь. Главное, что все основное работает, в принципе мне лично и так понятно, что платеж не прошел, просто пользователи начинают потихоньку осваиваться в биллинге все глубже и начинают задавать вопросы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка "Index: 0, Size: 0"
СообщениеДобавлено: 04 окт 2013, 15:35 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Тогда основные вопросы снимаются, в некотором ближайшем будущем записал немного порефакторить модуль.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.074s | 44 Queries | GZIP : On ]