2015-10-30 1 views
0

Je suis actuellement sur un projet de construction d'un agent SNMP et d'un gestionnaire avec Java en utilisant l'API SNMP4J.SNMP4J: Que signifie l'erreur "Inconsisting Naming used"?

J'ai créé un MOTable avec 3 colonnes, puis j'essaie d'envoyer un ensemble à partir du client pour créer une nouvelle ligne dans la table conceptuelle MOTable.

Voici l'extrait de mon code client qui ajoute la variable de liaison à la PDU et envoie le SET SNMP à l'agent:

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); 

le ".1.3.6.1.2.1.3.x" avec x = 1, 2 ou 3 sont respectivement les OID des colonnes 1, 2 et 3 de ma table qui contient respectivement une OctetString, et Integer32 et une seconde Integer32.

Malheureusement, je reçois l'erreur suivante lorsque je lance le client:

Savez-vous ce que signifie cette erreur et comment le résoudre afin de créer une ligne?

java.lang.Exception: Erreur 'appellation utilisée Incohérence' généré à: 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) at 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) au org.snmp4j.agent.CommandProcessor $ Command.run (CommandProcessor.java:560) au org.snmp4j.agent.CommandProcessor.processPdu (CommandProcessor.ja VA: 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. DefaultUdpTransportMapping $ ListenThread.run (DefaultUdpTransportMapping.java:423) at java.lang.Thread.run (Threa d.java:745)

Répondre

0

Cela signifie que l'objet spécifié n'existe pas. Vous devez vérifier l'index d'erreur dans l'unité PDU pour connaître la variable (SNMP varbind) à l'origine du problème.