BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: InetServ == null
СообщениеДобавлено: 07 окт 2015, 17:39 
Не в сети

Зарегистрирован: 03 мар 2008, 23:08
Сообщения: 109
Карма: 0
Есть задача через веб-сервис создать договор на основе шаблона, и в модуле inet этого договора добавить сервис с определенными параметрами.
Первая часть работает, есть проблема с добавлением сервиса.
Делаю, например, так:
Код:
InetServ is = new InetServ();

Получаю is == null. Пробую так:
Код:
InetServService iss = (InetServService)context.getService(InetServService.class,INET_MODULE_ID);
InetServ is = iss.inetServGet(0);

Тоже null.

Вопросы:
1) Правильным ли путем я иду (через InetServ)?
2) Почему получается null?

Код:
Сервер: вер. 6.1.1097 / 25.09.2015 19:32:12
os: Linux; java: Java HotSpot(TM) Server VM, v.1.8.0_60
inet: вер. 6.1.713 / 17.09.2015 13:06:01


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: InetServ == null
СообщениеДобавлено: 07 окт 2015, 18:04 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Tau писал(а):
1) Правильным ли путем я иду (через InetServ)?
2) Почему получается null?

1. Да.
2. Покажите код, который создаёт сервис и проверяет его на null.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: InetServ == null
СообщениеДобавлено: 08 окт 2015, 13:03 
Не в сети

Зарегистрирован: 03 мар 2008, 23:08
Сообщения: 109
Карма: 0
Код:
@WebService(targetNamespace = "telecom")
public class WiFiContractImpl
    extends AbstractService{
      public WiFiContract getWiFiContract ( String ct ){
         WiFiContract wifiContract = new WiFiContract(ct, this.getConnection(), this.context);
         return wifiContract;
      }

}


Код:
   public WiFiContract (String ct, Connection con, ServerContext context ){
      this.con = con;
      ContractManager cm = new ContractManager(con);
      if ((contract = cm.getContractByTitle(ct)) == null ){
         try {
            contract = cm.createFromPattern(CONTRACT_TEMPLATE_ID, ct, Calendar.getInstance(), "password");

            InetServService iss = (InetServService)context.getService(InetServService.class,INET_MODULE_ID);
   
               
            InetServ is = iss.inetServGet(0);
            System.out.println("InetServService=" + iss);
            System.out.println("InetServ=" + is);

            is.setContractId(contract.getId());
            is.setTypeId(INET_SERVICE_TYPE);
            is.setLogin("79261234567");
            is.setPassword("12345");
            is.setSessionCountLimit(1);
            is.setDeviceId(INET_DEVICE_ID);
            is.setDateFrom(Calendar.getInstance().getTime());
            System.out.println("InetServ=" + is);
            
            System.out.println("cid=" + contract.getId());
         }
         catch(Exception ex){
            System.out.println(ex.getMessage());
         }
         
      }
      this.cid = contract.getId();
   }


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: InetServ == null
СообщениеДобавлено: 08 окт 2015, 14:42 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Это не о чем не говорит. Вы его явно на null проверьте if-ом . Метод toString у объекта может возвращать null.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: InetServ == null
СообщениеДобавлено: 08 окт 2015, 14:45 
Не в сети

Зарегистрирован: 03 мар 2008, 23:08
Сообщения: 109
Карма: 0
stark писал(а):
Это не о чем не говорит. Вы его явно на null проверьте if-ом . Метод toString у объекта может возвращать null.

Пытаюсь проверить is на null:
Код:
InetServ is = new InetServ();
            if(is==null){

Есlipse подсказывает, что код внутри условия "мертвый".

Допустим, new InetServ() возвращает не null, тогда дальнейших моих действий:
Код:
is.setContractId(contract.getId());
is.setTypeId(INET_SERVICE_TYPE);
is.setLogin("79261234567");
is.setPassword("12345");
is.setSessionCountLimit(1);
is.setDeviceId(INET_DEVICE_ID);
is.setDateFrom(Calendar.getInstance().getTime());

достаточно для привязывания сервиса к договору? Или нужны дополнительные действия?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: InetServ == null
СообщениеДобавлено: 08 окт 2015, 15:15 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Почему допустим??? Он точно не null.

А сервисы я так обычно создаю:
Код:
      InetServ serv = new InetServ();
      serv.setId(0);
      serv.setTitle(serviceTitle);
      serv.setTypeId(1);
      serv.setTypeTitle("PPPoE-with-local");
      serv.setContractId(contractId);
      serv.setContractTitle(serviceTitle);
      serv.setLogin(serviceTitle);
      serv.setPassword(servicePassword);
      serv.setSessionCountLimit(1);
      serv.setDateFrom(TimeUtils.convertCalendarToDate(serviceFrom));
      serv.setDateTo(null);
      serv.setAccessCode(0);
      serv.setDeviceId(1);
      serv.setDeviceTitle("ProcessGroup: Cisco");
      serv.setDeviceState(InetServ.STATE_ENABLE);
      serv.setStatus(InetServ.STATUS_ACTIVE);
      serv.setIdentifierList(null);
      serv.setComment(null);

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: InetServ == null
СообщениеДобавлено: 08 окт 2015, 15:24 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Tau писал(а):
stark писал(а):
Это не о чем не говорит. Вы его явно на null проверьте if-ом . Метод toString у объекта может возвращать null.

Пытаюсь проверить is на null:
Код:
InetServ is = new InetServ();
            if(is==null){

Есlipse подсказывает, что код внутри условия "мертвый".

Допустим, new InetServ() возвращает не null, тогда дальнейших моих действий:

Если бы он был null, он бы упал на первой вашей команде , которое что-то ему поменять пытается.

Tau писал(а):
Код:
is.setContractId(contract.getId());
is.setTypeId(INET_SERVICE_TYPE);
is.setLogin("79261234567");
is.setPassword("12345");
is.setSessionCountLimit(1);
is.setDeviceId(INET_DEVICE_ID);
is.setDateFrom(Calendar.getInstance().getTime());

достаточно для привязывания сервиса к договору? Или нужны дополнительные действия?


Нет, не достаточно. Вы создали сервис в памяти и не сохранили в базу . Все это информация не применилась.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: InetServ == null
СообщениеДобавлено: 08 окт 2015, 15:29 
Не в сети

Зарегистрирован: 03 мар 2008, 23:08
Сообщения: 109
Карма: 0
stark писал(а):
Нет, не достаточно. Вы создали сервис в памяти и не сохранили в базу . Все это информация не применилась.

А как сохранить не подскажете?
У InetServ подходящих методов не вижу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: InetServ == null
СообщениеДобавлено: 08 окт 2015, 15:31 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Tau писал(а):
stark писал(а):
Нет, не достаточно. Вы создали сервис в памяти и не сохранили в базу . Все это информация не применилась.

А как сохранить не подскажете?
У InetServ подходящих методов не вижу.

А вы не там ищите . InetServService

о том как создать любой web-cсервис описано тут :
http://wiki.bitel.ru/index.php/Inet_FAQ ... 0.B4.D0.B5


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: InetServ == null
СообщениеДобавлено: 08 окт 2015, 15:47 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
http://bgbilling.ru/v6.2/javadoc/ru/bit ... rvice.html
Смотрите метод inetServUpdate.


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

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


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

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


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

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