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

перевод скрипта на версию 5.1
http://forum.bitel.ru/viewtopic.php?f=19&t=5570
Страница 1 из 1

Автор:  madmax [ 04 июн 2011, 13:08 ]
Заголовок сообщения:  перевод скрипта на версию 5.1

Есть небольшой скрипт
cmds = new HashMap();
for( it = request.getVendorAttributes(Vendors.CISCO, 1).iterator(); it.hasNext(); ) {
ra = (RadiusAttribute)it.next();
s = ra.getStringValue();
В версии 5.1 выходит ошибка
java.util.concurrent.ExecutionException: Sourced file: Function [id:4; title:qqq] : at Line: 10 : in file: Function [id:4; title:qqq] : ( RadiusAttribute ) it .next ( )
Target exception: java.lang.ClassCastException: Cannot cast ru.bitel.bgbilling.kernel.network.radius.RadiusAttribute$RadiusAttributeString to bitel.billing.server.radius.RadiusAttribute

Автор:  madmax [ 04 июн 2011, 13:50 ]
Заголовок сообщения:  Re: перевод скрипта на версию 5.1

Спасибо разобрались. Нужно прописать RadiusAttribute.RadiusAttributeString.
Но вот как заменить эту строку не пойму, выдает ошибку в строке rva.setStringValue
RadiusVendorAttribute rva = new RadiusVendorAttribute(9, 1);
rva.setStringValue("h323-ivr-in=expdate:"+CommonTimeUtils.formatDate(dt));
response.addVendorAttribute(rva);

Автор:  skyb [ 04 июн 2011, 14:39 ]
Заголовок сообщения:  Re: перевод скрипта на версию 5.1

использования тега
Код:
code
улучшит восприятие ваших постов ;)

Автор:  madmax [ 04 июн 2011, 15:48 ]
Заголовок сообщения:  Re: перевод скрипта на версию 5.1

Код:
RadiusVendorAttribute rva = new RadiusVendorAttribute(9, 1);
rva.setStringValue("h323-ivr-in=expdate:"+CommonTimeUtils.formatDate(dt));
response.addVendorAttribute(rva);

на wiki писали что в версии 5,1 нужно использовать
Код:
attributesToAdd.add();
вместо
Но как не пойму? никто не знает как в версии 5,1 теперь вставка радиус атрибутов должна добавляться

Автор:  madmax [ 05 июн 2011, 18:00 ]
Заголовок сообщения:  Re: перевод скрипта на версию 5.1

Кому будет нужно, проблема решилась так
Код:
RadiusAttribute.RadiusAttributeString rva = new RadiusAttribute.RadiusAttributeString(Vendors.CISCO,1,"h323-ivr-in=expdate:"+CommonTimeUtils.formatDate(dt));
response.addAttribute(rva);

Автор:  madmax [ 05 июн 2011, 18:07 ]
Заголовок сообщения:  Re: перевод скрипта на версию 5.1

Осталось одна проблема.
есть такой кусок кода
Код:
alias = request.getStringAttribute( RadiusStandartAttributes.Calling_Station_Id );

В api написано что нужно теперь использовать вместо getStringAttribute
Код:
RadiusAttributeSet.getStringAttribute(int, int, String)

прописали так
Код:
alias =  RadiusAttributeSet.getStringAttribute(1,0,"Calling_Station_Id");

Но выходит ошибка Cannot reach instance method: getStringAttribute( int, int, java.lang.String )
Что это может значить? Никто не сталкивался

Автор:  Cromeshnic [ 06 июн 2011, 06:27 ]
Заголовок сообщения:  Re: перевод скрипта на версию 5.1

Это не статический метод, нужно применять его к request:
Код:
alias =  request.getStringAttribute(1,0,"Calling_Station_Id");

Автор:  madmax [ 06 июн 2011, 09:17 ]
Заголовок сообщения:  Re: перевод скрипта на версию 5.1

Ок. заработало только таким способом
alias = request.getStringAttribute(-1,RadiusStandartAttributes.Calling_Station_Id,"");

Автор:  snark [ 06 июн 2011, 11:24 ]
Заголовок сообщения:  Re: перевод скрипта на версию 5.1

Тут и тут есть примеры.

Заглянуть в вики перед созданием темы религия не позволила?

Автор:  madmax [ 06 июн 2011, 11:29 ]
Заголовок сообщения:  Re: перевод скрипта на версию 5.1

По wiki и поняли как должно быть. Только не сразу поняли что к чему.

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