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

Создание сервиса через sql
http://forum.bitel.ru/viewtopic.php?f=44&t=10809
Страница 1 из 1

Автор:  zavndw [ 19 авг 2015, 11:14 ]
Заголовок сообщения:  Создание сервиса через sql

Создаем сервис через sql запрос, сервис создается все нормально, но при подключении в мониторе ошибка, что Логин не найден, но если открыть сервис и нажать сохранить сервис работает. Что надо еще сделать что бы сервис сразу заработал? Пробовал синхронизацию сервиса и включение эффекта не дает.

Автор:  Phricker [ 19 авг 2015, 11:41 ]
Заголовок сообщения:  Re: Создание сервиса через sql

Кто-то писал, что перезапускал Access после создания сервисов через SQL.

Автор:  vkulakov [ 19 авг 2015, 12:28 ]
Заголовок сообщения:  Re: Создание сервиса через sql

Заводить через базу - не очень удачное решение. Заводите через дин. код или через API.

Для уже созданного через базу сервиса попробуйте пересохранить его через API.

Автор:  vkulakov [ 19 авг 2015, 12:32 ]
Заголовок сообщения:  Re: Создание сервиса через sql

Пример метода для создание сервиса через дин. код:
Код:
   public void createIpoeServiceStep(List<String> service) throws SQLException, BGException {
      ContractModuleManager cmm = new ContractModuleManager(conn);

      // Инициализируем веб-сервис для работы с сервисами модуля IPoE
      ServerContext context = ServerContext.get();   
      InetServService iss = context.getService(InetServService.class, 27);

      int contractId = Integer.valueOf(service.get(0));
      String identifier = service.get(2);
      String addressFrom = service.get(3);
      String addressTo = service.get(4);

      // Добавляем модуль IPoE на договор
      cmm.addContractModule(contractId, 27);
      EventProcessor.getInstance().publish(new ContractModifiedEvent(66, contractId));

      // Добавляем сервис на договор
      InetServ serv = new InetServ();
      serv.setId(0);
      serv.setParentId(0);
      serv.setContractId(contractId);
      serv.setContractObjectId(0);
      serv.setTypeId(1);
      serv.setLogin("");
      serv.setPassword("");
      serv.setDateFrom(new Date(1420059600000l));
      serv.setDeviceId(2);
      serv.setDeviceState((short) 1);
      serv.setInterfaceId(1);
      serv.setAddressFrom(Utils.convertIntToBytes(IPUtils.convertStringIPtoInt(addressFrom)));
      serv.setAddressTo(Utils.convertIntToBytes(IPUtils.convertStringIPtoInt(addressTo)));
      serv.setIdentifierList(Arrays.asList(identifier));
      serv.setIpResourceId(0);
      serv.setIpResourceSubscriptionId(0);
      serv.setVlan(-1);
      serv.setSessionCountLimit(0);
      serv.setAccessCode(0);
      serv.setStatus(0);
      serv.setComment("");
      iss.inetServUpdate(serv, new LinkedList<InetServOption>(), true, true, 0);
   }

Step - потому что я их создаю в цикле. Есть пример на PHP.

Чтобы пересохранить существующий сервис можно попробовать так сделать:
Код:
InetServ serv = iss.inetServGet(servId);
iss.inetServUpdate(serv, new LinkedList<InetServOption>(), true, true, 0);


Как-то так.

Автор:  zavndw [ 19 авг 2015, 13:33 ]
Заголовок сообщения:  Re: Создание сервиса через sql

спасибо, буду пробовать

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