BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 08 дек 2016, 00:49 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
см. какие конструкторы есть у класса ru.bitel.common.model.Period


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 08 дек 2016, 12:02 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Вот тут посмотрите.

https://forum.bitel.ru/viewtopic.php?f=19&t=11684&p=99189&hilit=Period#p99284

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 15 дек 2016, 11:58 
Не в сети

Зарегистрирован: 29 янв 2014, 11:32
Сообщения: 365
Карма: 10
Artur писал(а):


Спасибо, уже кое что. Попробовал
Код:
{"method" : "searchContractLimitLogList", "user" :{ "user" : "username", "pswd" : "password" }, "params" : { "contractId" : "1", "period" : [{"dateFrom" : "2016-06-01", "dateTo" : "2016-12-14"}]} }

Вот что выдает:
Код:
{"status":"error","exception":"java.lang.IllegalArgumentException","message":"Can not deserialize instance of ru.bitel.common.model.Period out of START_ARRAY token\n at [Source: N/A; line: -1, column: -1]","tag":null,"data":{}}

Дату пробовал в формате "2016-06-01T00:00:00.000Z" Результат аналогичен.


Пробовал вот так:
Код:
{"method" : "searchContractLimitLogList", "user" :{ "user" : "username", "pswd" : "password" }, "params" : { "contractId" : "1", "period" : [{"year" : "2016", "month" : "11", "day_from" : "1", "day_to" : "30"}] } }

Ответ аналогичен:
Код:
{"status":"error","exception":"java.lang.IllegalArgumentException","message":"Can not deserialize instance of ru.bitel.common.model.Period out of START_ARRAY token\n at [Source: N/A; line: -1, column: -1]","tag":null,"data":{}}



Без массива:
Код:
{"method" : "searchContractLimitLogList", "user" :{ "user" : "username", "pswd" : "password" }, "params" : { "contractId" : "1", "period" : {"dateFrom" : "2016-06-01", "dateTo" : "2016-12-14"}} }

Код:
{"status":"error","exception":"java.lang.NullPointerException","message":null,"tag":null,"data":{}}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 19 дек 2016, 14:12 
Не в сети

Зарегистрирован: 29 янв 2014, 11:32
Сообщения: 365
Карма: 10
Уважаемые разработчики, прокомментируйте, пожалуйста.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 20 дек 2016, 14:31 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Дайте ваш код, проверю у себя, проверю как должно быть с этим периодом

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 20 дек 2016, 19:15 
Не в сети

Зарегистрирован: 29 янв 2014, 11:32
Сообщения: 365
Карма: 10
Я пока запускаю без кода напрямую через POST, используя addon Mozilla HttpRequester

Обращаюсь по адресу:
https://bgbserver/bgbilling/executer/js ... mitService


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 21 дек 2016, 14:19 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Вместо

Код:
"period": [
            {
                "dateFrom": "2016-06-01",
                "dateTo": "2016-12-14"
            }
        ]


нужно использовать

Код:
"period": {
                "dateFrom": "2016-06-01",
                "dateTo": "2016-12-14"
        }


В вашем случае вы передавали массив

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 21 дек 2016, 15:32 
Не в сети

Зарегистрирован: 29 янв 2014, 11:32
Сообщения: 365
Карма: 10
Как я понял отсюда https://forum.bitel.ru/viewtopic.php?f= ... iod#p99284 надо использовать массив.

Но в посте выше я писал, что пробовал и без массива:
Код:
{"method" : "searchContractLimitLogList", "user" :{ "user" : "username", "pswd" : "password" }, "params" : { "contractId" : "1", "period" : {"dateFrom" : "2016-06-01", "dateTo" : "2016-12-14"}} }

Код:
{"status":"error","exception":"java.lang.NullPointerException","message":null,"tag":null,"data":{}}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 21 дек 2016, 17:14 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
spectrum писал(а):
Как я понял отсюда https://forum.bitel.ru/viewtopic.php?f= ... iod#p99284 надо использовать массив.

Но в посте выше я писал, что пробовал и без массива:
Код:
{"method" : "searchContractLimitLogList", "user" :{ "user" : "username", "pswd" : "password" }, "params" : { "contractId" : "1", "period" : {"dateFrom" : "2016-06-01", "dateTo" : "2016-12-14"}} }

Код:
{"status":"error","exception":"java.lang.NullPointerException","message":null,"tag":null,"data":{}}


В той теме не json. Я сейчас перепроверил - все норм отработалось. См. скрин


Вложения:
Снимок экрана_2016-12-21_16-12-42.png
Снимок экрана_2016-12-21_16-12-42.png [ 145.35 КБ | Просмотров: 5973 ]

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 21 дек 2016, 17:17 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Проблемы только с этим веб-сервисом? может дело в расширении/браузере?

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 21 дек 2016, 18:12 
Не в сети

Зарегистрирован: 29 янв 2014, 11:32
Сообщения: 365
Карма: 10
Да, с этим сервисом. Я не первый раз так проверяю как отвечает API через json.
Выложил два скриншота. Один как отвечает рабочий сервис, другой как отвечает ContractLimitService

В логах сервера вот что:
Код:
12-21/15:10:33 ERROR [http-bio-0.0.0.0-8080-exec-151] JsonWsHandler -
java.lang.reflect.InvocationTargetException
        at sun.reflect.GeneratedMethodAccessor671.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at ru.bitel.bgbilling.kernel.container.service.server.ServiceInfo.invoke(ServiceInfo.java:101)
        at ru.bitel.bgbilling.kernel.container.ws.server.JsonWsHandler.handle(JsonWsHandler.java:317)
        at bitel.billing.server.Executer.doPost(SourceFile:158)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
        at ru.bitel.bgbilling.kernel.contract.limit.server.bean.ContractLimitLogManager.searchContractLimitLog(ContractLimitLogManager.java:84)
        at ru.bitel.bgbilling.kernel.contract.limit.server.service.ContractLimitServiceImpl.searchContractLimitLogList(ContractLimitServiceImpl.java:36)
        ... 25 more


Код:
Информация о версии:

  Клиент: вер. 6.2.834 / 02.08.2016 15:13:52
    os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_102
  Сервер: вер. 6.2.1103 / 03.08.2016 14:58:59
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_60

  bvcom: вер. 6.2.95 / 14.07.2016 14:11:19
  card: вер. 6.2.39 / 26.05.2016 14:50:45
  enaza: вер. 6.2.59 / 19.04.2016 21:47:47
  gorod: вер. 6.2.164 / 01.03.2016 00:18:32
  inet: вер. 6.2.680 / 03.08.2016 17:56:28
  mps: вер. 6.2.214 / 14.07.2016 16:43:28
  npay: вер. 6.2.196 / 20.07.2016 09:56:08
  rentsoft: вер. 6.2.61 / 26.05.2016 18:24:51
  reports: вер. 6.2.210 / 02.08.2016 15:17:51

Окружение:

  Клиент:
    os: Windows 7 amd64, 6.1
    java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_102
    jre home: C:\Program Files\Java\jre1.8.0_102
    default tz: 21.12.2016 15:13 MSK +0300 (Europe/Moscow)
    user tz: 21.12.2016 15:13 MSK +0300 (Europe/Moscow)
    locale: ru_RU
  Сервер:
    os: Linux amd64, 3.10.0-229.11.1.el7.x86_64
    java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_60
    jre home: /opt/jdk1.8.0_60/jre
    default tz: 21.12.2016 15:13 MSK +0300 (Europe/Moscow)
    db time: master: 21.12.2016 15:13 MSK
    db charset: connection: utf8(utf8_unicode_ci), database: utf8(utf8_unicode_ci)
    locale: ru_RU
    uptime: Started: 17.12.2016 21:08:21 Uptime: 3 d 18:05:37



Вложения:
inetsession.png
inetsession.png [ 58.58 КБ | Просмотров: 5968 ]
getlimis.png
getlimis.png [ 33.44 КБ | Просмотров: 5968 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 21 дек 2016, 18:30 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Вы не все параметры передаете. Метод searchContractLimitLogList имеет следующую сигнатуру

Код:
public SearchResult<ContractLimitLog> searchContractLimitLogList( int contractId, Period period, String[] sort, Page page )


Ему page не хватает.

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 21 дек 2016, 20:40 
Не в сети

Зарегистрирован: 29 янв 2014, 11:32
Сообщения: 365
Карма: 10
Спасибо! Получилось!

А не подскажите еще формат переменной sort?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 22 дек 2016, 09:08 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
spectrum писал(а):
Спасибо! Получилось!

А не подскажите еще формат переменной sort?


Там сортировка по дате задается в виде

date:[0,1]

где date соответствует dt в таблице log_contract_limit, 0 - ASC (по умолчанию), 1 - DESC.
Остальные поля вроде не поддерживаются.

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 22 дек 2016, 11:05 
Не в сети

Зарегистрирован: 29 янв 2014, 11:32
Сообщения: 365
Карма: 10
Спасибо!

Попробовал, но что-то не сработало.
В запрос добавил
Код:
"sort" : "date:0"


В логах:
Код:
12-22/07:53:14 ERROR [http-bio-0.0.0.0-8080-exec-7] JsonWsHandler - Can not deserialize instance of java.lang.String[] out of VALUE_STRING token
 at [Source: N/A; line: -1, column: -1]
java.lang.IllegalArgumentException: Can not deserialize instance of java.lang.String[] out of VALUE_STRING token
 at [Source: N/A; line: -1, column: -1]
        at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:2759)
        at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:2701)
        at ru.bitel.bgbilling.kernel.container.ws.server.JsonWsHandler.fillArgs(JsonWsHandler.java:496)
        at ru.bitel.bgbilling.kernel.container.ws.server.JsonWsHandler.handle(JsonWsHandler.java:280)
        at bitel.billing.server.Executer.doPost(SourceFile:158)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.lang.String[] out of VALUE_STRING token
 at [Source: N/A; line: -1, column: -1]
        at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)
        at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:749)
        at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:745)
        at com.fasterxml.jackson.databind.deser.std.StringArrayDeserializer.handleNonArray(StringArrayDeserializer.java:124)
        at com.fasterxml.jackson.databind.deser.std.StringArrayDeserializer.deserialize(StringArrayDeserializer.java:48)
        at com.fasterxml.jackson.databind.deser.std.StringArrayDeserializer.deserialize(StringArrayDeserializer.java:18)
        at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:2754)


В принципе крайней необходимости нет, раз там уже есть сортировка по умолчанию.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: API обещанного платежа
СообщениеДобавлено: 22 дек 2016, 12:57 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
А вот в данном случае нужно передавать массив. Т.е. "date:0" нужно оформить как элемент массива.

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2

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


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

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


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

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