Can anybody help here please? -BC On Wed, Mar 4, 2009 at 11:04 PM, bang bang <[email protected]> wrote:
> Hi Frank, > > Thanks for your quick reply. Agree on your point below. > Apart from this, on original problem if i capture the ethreal trace on > either end, i dont see the payload added by me for TCP. When i try to debug > with SNMP4J source, i see the connection is not eshtablished. > > Is there anything else missing from code below perticular to TCP? > > Thanks again, > BC > > On Wed, Mar 4, 2009 at 10:58 PM, Frank Fock <[email protected]> wrote: > >> 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 >>> [email protected] >>> http://lists.agentpp.org/mailman/listinfo/snmp4j >>> >> >> -- >> AGENT++ >> http://www.agentpp.com >> http://www.mibexplorer.com >> http://www.mibdesigner.com >> >> > _______________________________________________ SNMP4J mailing list [email protected] http://lists.agentpp.org/mailman/listinfo/snmp4j
