[SNMP4J] simple snmp get
Afnan Chowdhury
afnan.chowdhury at gmail.com
Tue Sep 20 21:03:47 CEST 2005
Hi All,
I would be very glad if anyone response me with the solution of this
problem. I am using SNMP4J library for the first time and need for a
quick tick off using its all sorts of aspects of it but got stuck at
the beginning. I am using Jbuilder with JDK 1.5 on a winxp mechine
sending snmp get to a broadcase address.
Many Thanks in advance.
Afnan
Error message is
Exception in thread "main" org.snmp4j.MessageException: Unsupported
message processing model: 0
at org.snmp4j.MessageDispatcherImpl.sendPdu(MessageDispatcherImpl.java:399)
at org.snmp4j.Snmp.sendMessage(Snmp.java:900)
at org.snmp4j.Snmp.send(Snmp.java:783)
at org.snmp4j.Snmp.send(Snmp.java:771)
at NetworkAlarmReportingTool.SNMPTest.main(SNMPTest.java:76)
Source Code:
import org.snmp4j.*;
import java.lang.*;
import org.snmp4j.smi.*;
import org.snmp4j.transport.DefaultUdpTransportMapping;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.PDU;
import org.snmp4j.smi.OctetString;
import java.io.*;
import org.snmp4j.smi.GenericAddress;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.event.ResponseListener;
public class SNMPTest {
public static void main(String[] args) throws IOException {
CommunityTarget target = new CommunityTarget();
Address targetAddress = GenericAddress.parse("udp:9.15.255.255/161");
//boolean a = targetAddress.isValid();
//System.out.print(a);
target.setCommunity(new OctetString("public"));
target.setAddress(targetAddress);
target.setRetries(2);
target.setTimeout(15000);
target.setVersion(SnmpConstants.version1);
// creating PDU
PDU pdu = new PDU();
pdu.add(new VariableBinding(new OID(new int[] {1,3,6,1,2,1,1,1})));
pdu.add(new VariableBinding(new OID(new int[] {1,3,6,1,2,1,1,2})));
pdu.setType(PDU.GETNEXT);
// 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());
}
};
TransportMapping transport = null;
try {
transport = new DefaultUdpTransportMapping();
} catch (IOException ex) {
}
Snmp s = new Snmp();
s.send(pdu,target,null,listener);
}
}
More information about the SNMP4J
mailing list