forum.bitel.ru
http://forum.bitel.ru/

InetServ == null
http://forum.bitel.ru/viewtopic.php?f=19&t=10964
Страница 1 из 1

Автор:  Tau [ 07 окт 2015, 17:39 ]
Заголовок сообщения:  InetServ == null

Есть задача через веб-сервис создать договор на основе шаблона, и в модуле 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

Автор:  vkulakov [ 07 окт 2015, 18:04 ]
Заголовок сообщения:  Re: InetServ == null

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

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

Автор:  Tau [ 08 окт 2015, 13:03 ]
Заголовок сообщения:  Re: InetServ == null

Код:
@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();
   }

Автор:  stark [ 08 окт 2015, 14:42 ]
Заголовок сообщения:  Re: InetServ == null

Это не о чем не говорит. Вы его явно на null проверьте if-ом . Метод toString у объекта может возвращать null.

Автор:  Tau [ 08 окт 2015, 14:45 ]
Заголовок сообщения:  Re: InetServ == null

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());

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

Автор:  vkulakov [ 08 окт 2015, 15:15 ]
Заголовок сообщения:  Re: InetServ == null

Почему допустим??? Он точно не 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);

Автор:  stark [ 08 окт 2015, 15:24 ]
Заголовок сообщения:  Re: InetServ == null

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());

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


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

Автор:  Tau [ 08 окт 2015, 15:29 ]
Заголовок сообщения:  Re: InetServ == null

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

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

Автор:  stark [ 08 окт 2015, 15:31 ]
Заголовок сообщения:  Re: InetServ == null

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

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

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

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

Автор:  Amir [ 08 окт 2015, 15:47 ]
Заголовок сообщения:  Re: InetServ == null

http://bgbilling.ru/v6.2/javadoc/ru/bit ... rvice.html
Смотрите метод inetServUpdate.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/