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

"getNewInetServ().setLogin"
http://forum.bitel.ru/viewtopic.php?f=44&t=7148
Страница 1 из 1

Автор:  aiwbend [ 23 авг 2012, 09:30 ]
Заголовок сообщения:  "getNewInetServ().setLogin"

После обновления у меня перестал отрабатываться этот кусок. Т.е. если изменить логин то при serviceModify он не "сетит" serviceActivatorEvent.getOldInetServ().getLogin() к serviceActivatorEvent.getNewInetServ(). С паролем тоже самое. Ошибок при компиляции нет.
Цитата:
@Override
public Object serviceModify( ServiceActivatorEvent serviceActivatorEvent )
throws Exception
{
//Жестко привязываем логин и пароль к сервису, не даем его изменить.
OldServLogin = serviceActivatorEvent.getOldInetServ().getLogin();
InetServ NewInetService = serviceActivatorEvent.getNewInetServ();
NewInetService.setLogin( OldServLogin );
NewInetService.setPassword( "Redback" );
...
}

Автор:  Amir [ 27 авг 2012, 14:40 ]
Заголовок сообщения:  Re: "getNewInetServ().setLogin"

Возможно вы путате ServiceActivator и событие изменения сервиса. В ServiceActivator нельзя изменять сервис (по крайней мере таким образом), он используется только для работы с устройством.
В Автоматизации - Скрипты поведения должно быть событие "Изменяется сервис договора".

Автор:  aiwbend [ 28 авг 2012, 10:01 ]
Заголовок сообщения:  Re: "getNewInetServ().setLogin"

Странно конечно, возможно и вправду раньше скрипт поведения менял, только вот в InetServChangingEvent я не нашел как получить OldInetServ() и соответственно логин из него...

Ситуация такая что в нашем случае создавать абонента на Редбеке немного муторно, я создаю конфиг файл, лью его на фтп потом по SNMP прошу Редбек прочитать его и применить, по другому ни как.
Естественно если кто то изменит логин, нужно удалить старого и добавить нового с лишними операциями.
Можно ли из serviceModify вызвать serviceCancel с serviceCreate? Это бы решило мою проблему, хоть и выполнялись бы бессмысленные действия.

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

Автор:  Amir [ 05 сен 2012, 20:26 ]
Заголовок сообщения:  Re: "getNewInetServ().setLogin"

Выложили обновление, теперь в событии InetServChangingEvent доступен предыдущий вариант, getOldInetServ(), также к getInetServ() добавлен более желательный для использования синоним getNewInetServ().

Цитата:
Можно ли из serviceModify вызвать serviceCancel с serviceCreate?
Не совсем понятен вопрос. Можно вызывать прямо метод, если это то, что вам нужно.

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