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/ |