forum.bitel.ru http://forum.bitel.ru/ |
|
SNMP value type Unsigned Int http://forum.bitel.ru/viewtopic.php?f=44&t=9235 |
Страница 1 из 1 |
Автор: | aiwbend [ 14 май 2014, 16:08 ] |
Заголовок сообщения: | SNMP value type Unsigned Int |
В стандартном наборе библиотек есть классы для работы c SNMP. Столкнулся с проблемой отправки OID со значением в формате Unsigned Integer, читая гугл я извращался как только мог но все безрезультатно. Резал байты, юзал uk.co.westhawk.snmp.stack.AsnUnsInteger из набора либ BGBilling'a Цитата: new AsnUnsInteger(Long.valueOf(1)).getValue(); но всерано получаю в логах акаунтинга ru.bitel.bgbilling.common.BGException: uk.co.westhawk.snmp.stack.AgentException: Bad value error... Есть у кого нибудь успешный опыт отправки OID c Unsigned Integer value из Java? Не хочется на стороне лишние скрипты городить. PS Еще наткнулся в API Java8 на функционал для этой задачи вроде... ) |
Автор: | Amir [ 14 май 2014, 16:28 ] |
Заголовок сообщения: | Re: SNMP value type Unsigned Int |
А если просто AsnInteger - та же ошибка? |
Автор: | stark [ 14 май 2014, 16:37 ] |
Заголовок сообщения: | Re: SNMP value type Unsigned Int |
Используйте http://bgbilling.ru/v6.1/javadoc/ru/bit ... lient.html Там это реализовано. |
Автор: | aiwbend [ 14 май 2014, 17:08 ] |
Заголовок сообщения: | Re: SNMP value type Unsigned Int |
Amir писал(а): А если просто AsnInteger - та же ошибка? Ага таже. ![]() stark писал(а): Чего реализовано? ) Я им и отправляю, я не могу получить нужный тип данных описанный выше. Для наглядности В консоле из snmpset все отрабатывает Цитата: snmpset -v2c -c xxx 10.147.51.251 1.3.6.1.4.1.35265.1.21.16.2.1.25.255.158 i 1 snmpset -v2c -c xxx 10.147.51.251 1.3.6.1.4.1.35265.1.21.16.2.1.21.255.158 u 1 В java: Код: this.onTvFlag = 0; //int
this.offTvFlag = 1; //int this.enableFlag = new AsnInteger(1).getValue(); this.toggleTvOidObject = new AsnObjectId("1.3.6.1.4.1.35265.1.21.16.2.1.25.255"); this.reconfigHardwareOidObject = new AsnObjectId("1.3.6.1.4.1.35265.1.21.16.2.1.21.255"); servInterface = serviceActivatorEvent.getNewInetServ().getInterfaceId(); toggleTvOidObject.add(Integer.toString(servInterface)); reconfigHardwareOidObject.add(Integer.toString(servInterface)); toggleTvOid = toggleTvOidObject.getOid(); reconfigHardwareOid = reconfigHardwareOidObject.getOid(); snmpClient.set( toggleTvOid, -1 , onTvFlag); //работает snmpClient.set( reconfigHardwareOid, -1 , enableFlag );//чего только не пихал не работает |
Автор: | Amir [ 14 май 2014, 17:19 ] |
Заголовок сообщения: | Re: SNMP value type Unsigned Int |
А почему в snmpset 25.255.158, а в коде 25.255? |
Автор: | stark [ 14 май 2014, 17:25 ] |
Заголовок сообщения: | Re: SNMP value type Unsigned Int |
aiwbend писал(а): Amir писал(а): А если просто AsnInteger - та же ошибка? Ага таже. ![]() stark писал(а): Чего реализовано? ) Я им и отправляю, я не могу получить нужный тип данных описанный выше. Для наглядности В консоле из snmpset все отрабатывает Цитата: snmpset -v2c -c xxx 10.147.51.251 1.3.6.1.4.1.35265.1.21.16.2.1.25.255.158 i 1 snmpset -v2c -c xxx 10.147.51.251 1.3.6.1.4.1.35265.1.21.16.2.1.21.255.158 u 1 В java: Код: this.onTvFlag = 0; //int this.offTvFlag = 1; //int this.enableFlag = new AsnInteger(1).getValue(); this.toggleTvOidObject = new AsnObjectId("1.3.6.1.4.1.35265.1.21.16.2.1.25.255"); this.reconfigHardwareOidObject = new AsnObjectId("1.3.6.1.4.1.35265.1.21.16.2.1.21.255"); servInterface = serviceActivatorEvent.getNewInetServ().getInterfaceId(); toggleTvOidObject.add(Integer.toString(servInterface)); reconfigHardwareOidObject.add(Integer.toString(servInterface)); toggleTvOid = toggleTvOidObject.getOid(); reconfigHardwareOid = reconfigHardwareOidObject.getOid(); snmpClient.set( toggleTvOid, -1 , onTvFlag); //работает snmpClient.set( reconfigHardwareOid, -1 , enableFlag );//чего только не пихал не работает так вам там значение 1 надо передать ? Тогда зачем вам unsigned int вообще ? Я думал вам нужно передать значение, которое выходит за границу signed int-диапазона(например 0xFFFFFFFF) . А значение 1 что в signed, что в unsigned одинаковое будет . |
Автор: | aiwbend [ 14 май 2014, 23:41 ] |
Заголовок сообщения: | Re: SNMP value type Unsigned Int |
Amir писал(а): А почему в snmpset 25.255.158, а в коде 25.255? там далее интерфейс сервиса добавляет в long массив, а потом забирает oid и отправляет... stark писал(а): так вам там значение 1 надо передать ? Тогда зачем вам unsigned int вообще ? Я думал вам нужно передать значение, которое выходит за границу signed int-диапазона(например 0xFFFFFFFF) . А значение 1 что в signed, что в unsigned одинаковое будет . да 1 нужно, просто интром пробовал не понимает устройство... |
Автор: | aiwbend [ 14 май 2014, 23:49 ] |
Заголовок сообщения: | Re: SNMP value type Unsigned Int |
Блин я похоже опростафилился. Я юзал SNMP v1, а судя по табличке(http://i.stack.imgur.com/XEvyP.png) там не поддерживается unsigned int, и из линуха юзалась вторая версия... Утром попробую v2. |
Автор: | aiwbend [ 15 май 2014, 09:46 ] |
Заголовок сообщения: | Re: SNMP value type Unsigned Int |
C v2 тоже не работает, только теперь явно в логах на тип ругается. Цитата: uk.co.westhawk.snmp.stack.AgentException: Wrong type error Пихал единичку по всякому тоже... ...фуф, запихал в new SetPdu(snmpClient.getSnmpContext()) все отправилось с AsnInteger(1). Бага в клиенте мб, спасибо за ответы. |
Автор: | aiwbend [ 15 май 2014, 16:10 ] |
Заголовок сообщения: | Re: SNMP value type Unsigned Int |
В пду стеке тоже не отправляет, там просто ероров нет. А вот так наконец то отправляет, мб пригодится кому нибудь. Цитата: snmpClient.set(saveCfgOid, -1, new AsnUnsInteger(1L, SnmpConstants.SMI_V2_UINTEGER32));
|
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |