Java SNMP4J:什么是;使用了不一致的命名“;误差平均值?
我目前正在进行一个使用SNMP4JAPI用Java构建SNMP代理和管理器的项目 我创建了一个包含3列的MOTable,然后尝试从客户端发送一个集合,在MOTable概念表中创建一个新行 以下是我的客户端代码的摘录,它将变量绑定添加到PDU,然后将SNMP集发送到代理: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"),
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)