Skip to Main Content

Java APIs

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

how to solve this snmpwalk issue?

900306Nov 15 2011 — edited Nov 15 2011
how to solve this error:

this is my code for snmpwalk :

package snmp;

import java.io.IOException;

import org.snmp4j.CommunityTarget;
import org.snmp4j.PDU;
import org.snmp4j.Snmp;
import org.snmp4j.TransportMapping;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.Integer32;
import org.snmp4j.smi.Null;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.UdpAddress;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;

public class SNMPWalk
{
//
// Command line format:
// java SNMPWalk targetAddress targetOID
// EX:
// java SNMPWalk 192.168.76.15/161 1.3.6.1.4.1.517
//
public static void main(String[] args)
{
Address targetAddress = new UdpAddress("localhost/161");
OID targetOID = new OID("1.3.6.1.2.1.1.1.0");
// OID targetOID = new OID("1.3.6.1.4.1.517");


PDU requestPDU = new PDU();
requestPDU.add(new VariableBinding(targetOID));
//requestPDU.setType(PDU.GETNEXT);
requestPDU.setType(PDU.GETNEXT);


CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString("demopublic"));
target.setAddress(targetAddress);
target.setVersion(SnmpConstants.version2c);

try
{
TransportMapping transport = new DefaultUdpTransportMapping();
Snmp snmp = new Snmp(transport);
transport.listen();

boolean finished = false;

while (!finished)
{
VariableBinding vb = null;

//line 57 PDU responsePDU = snmp.sendPDU(requestPDU, target);
if (responsePDU != null)
{
vb = responsePDU.get(0);
}

if (responsePDU == null)
{
System.out.println("responsePDU == null");
finished = true;
}
else if (responsePDU.getErrorStatus() != 0)
{
System.out.println("responsePDU.getErrorStatus() != 0");
System.out.println(responsePDU.getErrorStatusText());
finished = true;
}
else if (vb.getOid() == null)
{
System.out.println("vb.getOid() == null");
finished = true;
}
else if (vb.getOid().size() < targetOID.size())
{
System.out.println("vb.getOid().size() < targetOID.size()");
finished = true;
}
else if (targetOID.leftMostCompare(targetOID.size(),
vb.getOid()) != 0)
{
System.out.println("targetOID.leftMostCompare() != 0)");
finished = true;
}
else if (Null.isExceptionSyntax(vb.getVariable().getSyntax()))
{
System.out.println(
"Null.isExceptionSyntax(vb.getVariable().getSyntax())");
finished = true;
}
else if (vb.getOid().compareTo(targetOID) <= 0)
{
System.out.println("Variable received is not "+
"lexicographic successor of requested "+
"one:");
System.out.println(vb.toString() + " <= "+targetOID);
finished = true;

}
else
{
// Dump response.
System.out.println(vb.toString());

// Set up the variable binding for the next entry.
requestPDU.setRequestID(new Integer32(0));
requestPDU.set(0, vb);
}
}

snmp.close();

}
catch (IOException e)
{
System.out.println("IOException: "+e);
}

}

}


line no. 57 as i have indicated.

the error say: the method sendPDU is undefined for the type snmp

i have included snmp4j.jar file.

or atleast can i get snmpwalk example for java to test on eclipse
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 13 2011
Added on Nov 15 2011
1 comment
419 views