BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
СообщениеДобавлено: 28 ноя 2012, 16:53 
Не в сети
Клиент

Зарегистрирован: 20 мар 2008, 20:20
Сообщения: 676
Откуда: Россия, Иваново
Карма: 36
На главной странице сайта http://bgbilling.ru/ в разделе "В разработке" красуется надпись "Планомерный перевод протокола взаимодействия клиент-сервер на стандарт Web-сервисов."
Стандарты это конечно хорошо, но что же будет с событием "Перед действием"?
Вот мне в 5.2 надо, перед изменением статуса договора, ругнуться на оператора, если он неверное меняет статус.
Как быть?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 ноя 2012, 16:58 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 ноя 2012, 17:22 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Каждому купившему лицензию на использование BGBilling'а в подарок
Изображение

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 ноя 2012, 17:25 
Не в сети
Клиент

Зарегистрирован: 20 мар 2008, 20:20
Сообщения: 676
Откуда: Россия, Иваново
Карма: 36
dimOn писал(а):
События перед действием не работают для вебсервисов, и они вообще не очень. С 5.2 есть возможность обернуть каждый вызов в прямой вызов динамического кода, там и надо ругаться. Это ещё не описано в доке, недавно сделано, думал только к следующему релизу описать.

Опишите пожалуйста хотя бы в общих чертах, как этим пользоваться.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 ноя 2012, 18:03 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Запилил в вики обзорную статью с примерами:
http://wiki.bgbilling.ru/index.php/%D0% ... 0%BE%D0%B2

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 ноя 2012, 18:05 
Не в сети
Клиент

Зарегистрирован: 20 мар 2008, 20:20
Сообщения: 676
Откуда: Россия, Иваново
Карма: 36
Спасибо!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 ноя 2012, 18:13 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 ноя 2012, 18:59 
Не в сети
Клиент

Зарегистрирован: 20 мар 2008, 20:20
Сообщения: 676
Откуда: Россия, Иваново
Карма: 36
Попробовал, все получилось, еще раз спасибо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 янв 2013, 20:26 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
подскажите, в чём беда?
Вложение:
1.jpg
1.jpg [ 97.47 КБ | Просмотров: 7629 ]

использовал то что "Динамические веб-сервисы"
в конфиге есть:
Код:
dynservice:ru.bitel.bgbilling.kernel.contract.status.ContractStatusMonitorService=ru.gigacom.scripts.work.ContractStatusMonitorServiceImpl


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 янв 2013, 10:46 
Не в сети
Клиент

Зарегистрирован: 20 мар 2008, 20:20
Сообщения: 676
Откуда: Россия, Иваново
Карма: 36
Покажите ru.gigacom.scripts.work.ContractStatusMonitorServiceImpl


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 янв 2013, 11:23 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
Код:
package ru.gigacom.scripts.work;


import java.util.Date;
 
import javax.jws.WebService;
 
import ru.bitel.bgbilling.common.BGException;
import ru.bitel.bgbilling.common.BGMessageException;
import ru.bitel.bgbilling.kernel.contract.status.common.ContractStatusMonitorService;
import ru.bitel.common.Utils;
 
/**
 * Перегруженный вебсервис для проверки некоторых параметров:
 * 3. Скрипт реализующий запрет изменения "Статуса" договора в случае если поле комментарий пустое.
 *
 * В конфиг сервера прописывается:
 * dynservice:ru.bitel.bgbilling.kernel.contract.status.ContractStatusMonitorService=ru.xxx.ContractStatusMonitorServiceImpl
 * @author dimon
 */
@WebService(endpointInterface = "ru.bitel.bgbilling.kernel.contract.status.common.ContractStatusMonitorService")
public class ContractStatusMonitorServiceImpl
   extends ru.bitel.bgbilling.kernel.contract.status.server.service.ContractStatusMonitorServiceImpl
   implements ContractStatusMonitorService
{
   @Override
   public void changeContractStatus( int[] cids, int statusId, Date dateFrom, Date dateTo, String comment )
       throws BGException
   {
      //System.out.println("\t!\tchangeContractStatus");
      // [3]
      // ContractStatusMonitorService:changeContractStatus
      // @WebParam( name = "comment" ) String comment
      if( Utils.isBlankString( comment ) )
      {
         throw new BGMessageException( "Введите комментарий" );
      }
      super.changeContractStatus( cids, statusId, dateFrom, dateTo, comment );
   }
}

ничего не успел поменять, все из вики.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 янв 2013, 11:37 
Не в сети
Клиент

Зарегистрирован: 20 мар 2008, 20:20
Сообщения: 676
Откуда: Россия, Иваново
Карма: 36
Через дин. код у меня не получилось подменить класс.

Я создал библиотеку с классом ru.gigacom.scripts.work.ContractStatusMonitorServiceImpl,
положил ее в BGBillingServer/lib/ext, прописал в настройках
dynservice:ru.bitel.bgbilling.kernel.contract.status.ContractStatusMonitorService=ru.gigacom.scripts.work.ContractStatusMonitorServiceImpl
, перезапустил биллинг.
и все у меня заработало.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 авг 2013, 13:07 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 июн 2016, 14:19 
Не в сети
Клиент

Зарегистрирован: 05 ноя 2009, 10:14
Сообщения: 160
Карма: 0
Подскажите кто может, как в переопределении сервиса ContractStatusMonitorServiceImpl получить соединение в базу java.sql.Connection con? Мне тут ContractManager понадобился, чтоб некие параметры договора проверить, а компилятор ругаецо.
Сервер: вер. 5.2 сборка 1643 от 02.11.2015 16:37:29
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_31


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 июн 2016, 14:29 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Код:
Connection con = super.getConnection();

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 июн 2016, 15:01 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
да вообще по идее просто getConnection()

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


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

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


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

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


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

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