Java SNMP4J:什么是;使用了不一致的命名“;误差平均值?

Java SNMP4J:什么是;使用了不一致的命名“;误差平均值?,java,snmp,mib,snmp4j,Java,Snmp,Mib,Snmp4j,我目前正在进行一个使用SNMP4JAPI用Java构建SNMP代理和管理器的项目 我创建了一个包含3列的MOTable,然后尝试从客户端发送一个集合,在MOTable概念表中创建一个新行 以下是我的客户端代码的摘录,它将变量绑定添加到PDU,然后将SNMP集发送到代理: final static OID[] customTable = new OID[]{new OID(".1.3.6.1.2.1.3.1"),

我目前正在进行一个使用SNMP4JAPI用Java构建SNMP代理和管理器的项目

我创建了一个包含3列的MOTable,然后尝试从客户端发送一个集合,在MOTable概念表中创建一个新行

以下是我的客户端代码的摘录,它将变量绑定添加到PDU,然后将SNMP集发送到代理:

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);
x=1、2或3的“.1.3.6.1.2.1.3.x”分别是我的表的第1、2和3列的OID,其中分别包含一个八进制字符串、整数32和第二个整数32

不幸的是,在运行客户端时出现以下错误:

您知道这个错误的意思是什么,以及如何解决它以创建一行吗

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.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:333) 在 org.snmp4j.transport.AbstractTransportMapping.fireProcessMessage(AbstractTransportMapping.java:76) 在 org.snmp4j.transport.defaultudpttransportmapping$ListenThread.run(defaultudpttransportmapping.java:423) 运行(Thread.java:745)


这意味着指定的对象不存在。您必须检查PDU中的错误索引,以找出导致问题的变量(SNMP varbind)