SNMP4J : Какво означава грешка при използване на непоследователно именуване?

В момента съм на проект за изграждане на SNMP агент и мениджър с Java, използвайки SNMP4J API.

Създадох MOTable с 3 колони и след това се опитах да изпратя набор от клиента, за да създам нов ред в концептуалната таблица на MOTable.

Ето извлечението от моя клиентски код, който добавя свързването на променливата към PDU и след това изпраща SNMP SET на агента:

final static OID[] customTable = new OID[]{new OID(".1.3.6.1.2.1.3.1"),
                                           new OID(".1.3.6.1.2.1.3.2"),
                                           new OID(".1.3.6.1.2.1.3.3")};
PDU customTablePDU = new PDU();
customTablePDU.addAll(new VariableBinding[]{new VariableBinding(customTable[0],new OctetString("192.168.1.12")),
            new VariableBinding(customTable[1],new Integer32(0)),
            new VariableBinding(customTable[2],new Integer32(100))});
ResponseEvent customTableResponse = customSnmp.set(customTablePDU, comtarget);

".1.3.6.1.2.1.3.x" с x = 1, 2 или 3 са съответно OID на колони 1, 2 и 3 на моята таблица, която съответно съдържа OctetString и Integer32 и второ Integer32.

За съжаление получавам следната грешка, когато стартирам клиента:

Знаете ли какво означава тази грешка и как да я разрешите, за да създадете ред?

java.lang.Exception: Грешка „Използвано непоследователно именуване“, генерирано на: 1.3.6.1.2.1.3.1 = 192.168.1.12 в org.snmp4j.agent.request.SnmpRequest$SnmpSubRequest.requestStatusChanged(SnmpRequest.java:621) в org. snmp4j.agent.request.RequestStatus.fireRequestStatusChanged(RequestStatus.java:89) в org.snmp4j.agent.request.RequestStatus.setErrorStatus(RequestStatus.java:52) в org.snmp4j.agent.mo.DefaultMOTable.prepare(DefaultMOTable. java:601) в org.snmp4j.agent.CommandProcessor$SetHandler.prepare(CommandProcessor.java:830) в org.snmp4j.agent.CommandProcessor$SetHandler.processPdu(CommandProcessor.java:863) в org.snmp4j.agent.CommandProcessor $SetHandler.processPdu(CommandProcessor.java:780) в org.snmp4j.agent.CommandProcessor.processRequest(CommandProcessor.java:422) в org.snmp4j.agent.CommandProcessor.processRequest(CommandProcessor.java:384) в org.snmp4j. agent.CommandProcessor.dispatchCommand(CommandProcessor.java:340) в org.snmp4j.agent.CommandProcessor$Command.run(CommandProcessor.java:560) в org.snmp4j.agent.CommandProcessor.processPdu(CommandProcessor.java:163) в org .snmp4j.MessageDispatcherImpl.fireProcessPdu(MessageDispatcherImpl.java:675) в org.snmp4j.MessageDispatcherImpl.dispatchMessage(MessageDispatcherImpl.java:302) в org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:373) в org.snmp 4j.MessageDispatcherImpl. processMessage(MessageDispatcherImpl.java:333) в org.snmp4j.transport.AbstractTransportMapping.fireProcessMessage(AbstractTransportMapping.java:76) в org.snmp4j.transport.DefaultUdpTransportMapping$ListenThread.run(DefaultUdpTransportMapping.java:423) в java.lang.Thread .run(Thread.java:745)


person rBenks93    schedule 30.10.2015    source източник


Отговори (1)


Това означава, че посоченият обект не съществува. Трябва да проверите индекса на грешки в PDU, за да разберете коя променлива (SNMP varbind) е причинила проблема.

person Andrew Komiagin    schedule 31.10.2015