[SNMP4J] Help needed for SNMP over TCP
Frank Fock
fock at agentpp.com
Wed Mar 4 18:28:11 CET 2009
Hi,
You will not get any response on
a trap independently of using
UDP or TCP. Your code itself
will always throw a NullPointerException
here:
> if (response != null) {
> System.out.println("GOT"+response.getError());
> System.out.println("GOT"+response.getResponse().getRequestID());
response.getResponse() will always return 'null'
when sending a trap/notification.
> System.out.println("GOT"+response.getError());
> }
Best regards,
Frank
bang bang wrote:
> I am trying to send out the SNMP V2c trap using SNMP4J. The code which is
> trying to do the same is given below. The same code is working fine for UDP
> but returns null response for TCP. Can someone please help me to find the
> missing point here?
>
> Thanks in advance.
> CB
>
> package com.test;
> import java.net.InetAddress;
> import java.util.ArrayList;
> import org.snmp4j.CommunityTarget;
> import org.snmp4j.PDU;
> import org.snmp4j.PDUv1;
> import org.snmp4j.Snmp;
> import org.snmp4j.Target;
> import org.snmp4j.TransportMapping;
> import org.snmp4j.event.ResponseEvent;
> import org.snmp4j.mp.SnmpConstants;
> import org.snmp4j.smi.Address;
> import org.snmp4j.smi.Integer32;
> import org.snmp4j.smi.OID;
> import org.snmp4j.smi.OctetString;
> import org.snmp4j.smi.TcpAddress;
> import org.snmp4j.smi.TimeTicks;
> import org.snmp4j.smi.TransportIpAddress;
> import org.snmp4j.smi.UdpAddress;
> import org.snmp4j.smi.VariableBinding;
> import org.snmp4j.transport.DefaultTcpTransportMapping;
> import org.snmp4j.transport.DefaultUdpTransportMapping;
> public class SNMP4J {
> private static boolean isTcp = true;
> public static void main(String[] args) {
> try {
> TransportMapping transport = null;
> if (isTcp) {
> transport = new DefaultTcpTransportMapping();
> } else {
> transport = new DefaultUdpTransportMapping();
> }
> Snmp snmp = new Snmp(transport);
> transport.listen();
> System.out.println("Sending PDU");
> ResponseEvent response = snmp.send(getPDU(), getTarget());
> System.out.println("PDU sent");
> if (response != null) {
> System.out.println("GOT"+response.getError());
> System.out.println("GOT"+response.getResponse().getRequestID());
> System.out.println("GOT"+response.getError());
> }
> } catch (Exception exp) {
> System.out.println("Exception sending message"+exp);
> } catch (Error err) {
> System.out.println("Error sending message");
> }
> }
> private static PDU getPDU() throws Exception {
> VariableBinding var;
> PDUv1 pdu = new PDUv1();
> pdu.setType(PDU.TRAP);
> try {
>
> var = new VariableBinding();
> var.setOid(new OID("1.3.6.1.4.1"));
> var.setVariable(new TimeTicks(12222L));
> pdu.add(var);
> var = new VariableBinding();
> var.setOid(new OID("1.3.6.1.4.1"));
> var.setVariable(new Integer32(99));
> pdu.add(var);
>
> } catch (Exception p) {
> p.printStackTrace();
> }
> return pdu;
> }
> private static Target getTarget() throws Exception {
> TransportIpAddress targetAddress = null;
> if (isTcp) {
> targetAddress = new TcpAddress(InetAddress.getByName("115.0.0.44"),162);
> } else {
> targetAddress = new UdpAddress(InetAddress.getByName("115.0.0.44"),162);
> }
> CommunityTarget target = new CommunityTarget();
> target.setCommunity(new OctetString("public"));
> target.setAddress(targetAddress);
> target.setVersion(SnmpConstants.version2c);
> target.setTimeout(500L);
> target.setRetries(3);
> return target;
> }
>
> private void log() {
>
> }
> }
> _______________________________________________
> SNMP4J mailing list
> SNMP4J at agentpp.org
> http://lists.agentpp.org/mailman/listinfo/snmp4j
--
AGENT++
http://www.agentpp.com
http://www.mibexplorer.com
http://www.mibdesigner.com
More information about the SNMP4J
mailing list