[SNMP4J] SNMP get of sysDescr resulting in "noSuchInstance" response

Truyen Vu tvu at seattle.telecomsys.com
Fri Jan 28 00:00:13 CET 2005


I'm trying to do a simple SNMP get to obtain "sysDescr" and the response
I'm getting is "noSuchInstance". What am I doing wrong? Thank you for
your help.

Here's the code:

ort org.snmp4j.*;

import org.snmp4j.asn1.*;

import org.snmp4j.event.*;

 

import org.snmp4j.smi.*;

import org.snmp4j.transport.*;

import org.snmp4j.mp.*;

 

import org.apache.log4j.*;

 

import java.io.*;

import java.util.*;

 

class TestGet

{

            public TestGet()

            {

                        Logger.getRootLogger().setLevel(Level.OFF);

            }

 

            public void go() throws Exception

            {

                        Address targetAddress =
GenericAddress.parse("udp:127.0.0.1/161");

                        TransportMapping transport = new
DefaultUdpTransportMapping();

                        transport.listen();

 

                        Snmp snmp = new Snmp(transport);

                        // setting up target

                        CommunityTarget target = new CommunityTarget();

                        target.setCommunity(new OctetString("public"));

                        target.setAddress(targetAddress);

                        target.setVersion(SnmpConstants.version2c);

                        

                        // creating PDU

                        PDU requestPDU = new PDU();

                        //SNMPv2-MIB sysDescr
1.3.6.1.2.1.1.1

                        requestPDU.add(new VariableBinding(new OID(new
int[] {1,3,6,1,2,1,1,1})));

                        requestPDU.setType(PDU.GET);

                        

                        // sending request

                        ResponseListener listener = new
ResponseListener() {

                                    public void onResponse(ResponseEvent
event) {

                                                // Always cancel async
request when response has been received

                                                // otherwise a memory
leak is created! Not canceling a request

                                                // immediately can be
useful when sending a request to a broadcast

                                                // address.

 
((Snmp)event.getSource()).cancel(event.getRequest(), this);

 
System.out.println("Received response PDU is: "+event.getResponse());

                                                PDU response =
event.getResponse();

 
printVarBinds(response.getVariableBindings());

                                    }

                        };

                        snmp.sendPDU(requestPDU, target, null,
listener);

            }

   

            private void printVarBinds(Vector varbinds)

            {

                        for(int i=0; i < varbinds.size(); i++)

                        {

                                    System.out.println("\tvarbind[" + i
+ "] = " + varbinds.get(i));

                        }

            }

            

            public static void main(String[] args) throws Exception

            {

                        TestGet test = new TestGet();

                        test.go();

            }

}




More information about the SNMP4J mailing list