Writing SNMP Manager using SNMP4J
Hello,
I am writing a SNMP Manager that is supposed to do the following:
(1) Send snmp commands to snmp-agents, and handle thier response.
(2) receive snmp traps from snmp-agents.
I am using SNMP4J software package for writing the snmp manager.
I would like to use a SINGLE Snmp object (SNMP4J object) , both
for sending a snmp command and for receiving snmp traps.
SO far, I have written two separate programs:
*** Program 1:
** The first program only listens for Snmp trap-PDUs.
** Its main code is as follows:
// configure Snmp object
UdpAddress address = new UdpAddress("127.0.0.1/1990");
TransportMapping transport = new DefaultUdpTransportMapping(address);
Snmp snmp = new Snmp(transport);
transport.listen();
// handle received traps here
CommandResponder trapPrinter = new CommandResponder() {
public synchronized void processPdu(CommandResponderEvent e) {
PDU command = e.getPdu();
if (command != null) {
System.out.println(command.toString());
snmp.addCommandResponder(trapPrinter);
*** Program 2:
** The second program sends GET PDUs, and its main code is as follows:
// configure Snmp object
UdpAddress targetAddress = new UdpAddress("127.0.0.1/1985");
CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString("public"));
target.setAddress(targetAddress);
target.setRetries(2);
target.setTimeout(10000); // was 1000 !!!
target.setVersion(SnmpConstants.version1);
Snmp snmp = new Snmp(new DefaultUdpTransportMapping());
snmp.listen();
// prepare the PDU for sending
PDU command = new PDU();
command.setType(PDU.GET);
command.add(new VariableBinding(new OID("1.3.6.1.4.1.1331.11.5.1.0")));
// now send the PDU
ResponseEvent responseEvent = snmp.send(pdu, target);
if (responseEvent != null)
// response has arrived. handle it
else
System.out.println("null response received...");
I would like to unite these two programs into one, however, I cannot seem to
properly allocate one Snmp object to handle both the sending and receiving of PDUs.
I run two threads: thread-1 that does the listening for snmp traps,
and thread-2 which in charge of sending get/set PDUs.
I allocate the Snmp object in one place as follows:
TransportMapping transport = new DefaultUdpTransportMapping(new UdpAddress("127.0.0.1/1990"));
Snmp snmp = new Snmp(transport);
snmp.listen();
and I transfer it to both threads to be used there.
However, thread-2 sometimes fails to send PDUs using snmp.send(...);
What am I doing wrong?
Can anyone guide me as for how I should allocate the Snmp object so
it is good for both sending PDUs, and for receving traps?
Thanks,
Nefi
Hello,
I am writing a SNMP Manager that is supposed to do the following:
(1) Send snmp commands to snmp-agents, and handle thier response.
(2) receive snmp traps from snmp-agents.
I am using SNMP4J software package for writing the snmp manager.
I would like to use a SINGLE Snmp object (SNMP4J object) , both
for sending a snmp command and for receiving snmp traps.
SO far, I have written two separate programs:
*** Program 1:
** The first program only listens for Snmp trap-PDUs.
** Its main code is as follows:
// configure Snmp object
UdpAddress address = new UdpAddress("127.0.0.1/1990");
TransportMapping transport = new DefaultUdpTransportMapping(address);
Snmp snmp = new Snmp(transport);
transport.listen();
// handle received traps here
CommandResponder trapPrinter = new CommandResponder() {
public synchronized void processPdu(CommandResponderEvent e) {
PDU command = e.getPdu();
if (command != null) {
System.out.println(command.toString());
snmp.addCommandResponder(trapPrinter);
*** Program 2:
** The second program sends GET PDUs, and its main code is as follows:
// configure Snmp object
UdpAddress targetAddress = new UdpAddress("127.0.0.1/1985");
CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString("public"));
target.setAddress(targetAddress);
target.setRetries(2);
target.setTimeout(10000); // was 1000 !!!
target.setVersion(SnmpConstants.version1);
Snmp snmp = new Snmp(new DefaultUdpTransportMapping());
snmp.listen();
// prepare the PDU for sending
PDU command = new PDU();
command.setType(PDU.GET);
command.add(new VariableBinding(new OID("1.3.6.1.4.1.1331.11.5.1.0")));
// now send the PDU
ResponseEvent responseEvent = snmp.send(pdu, target);
if (responseEvent != null)
// response has arrived. handle it
else
System.out.println("null response received...");
I would like to unite these two programs into one, however, I cannot seem to
properly allocate one Snmp object to handle both the sending and receiving of PDUs.
I run two threads: thread-1 that does the listening for snmp traps,
and thread-2 which in charge of sending get/set PDUs.
I allocate the Snmp object in one place as follows:
TransportMapping transport = new DefaultUdpTransportMapping(new UdpAddress("127.0.0.1/1990"));
Snmp snmp = new Snmp(transport);
snmp.listen();
and I transfer it to both threads to be used there.
However, thread-2 sometimes fails to send PDUs using snmp.send(...);
What am I doing wrong?
Can anyone guide me as for how I should allocate the Snmp object so
it is good for both sending PDUs, and for receving traps?
Thanks,
Nefi
Similar Messages
-
Ho to decrypt snmp log using Snmp4j
Hi all
I have problem with decoding snmp log using my own listener.
From the sample inside the snmp4j source code, what i can see here is we have to use their listener.
Because of this, the snmp4j listener cannot bind the port 162 because my program has bound it.
What is another way for me to get the the real snmp log(not encrypted).
Below are the code of my snmparser that has problem to bind the port
public class SnmpParser extends Parser implements CommandResponder {
private String[] data = (String[]) COLUMN_DEFAULT_VALUE.clone();
private String strLog = "";
private String strIP = "";
private MultiThreadedMessageDispatcher dispatcher;
private Snmp snmp = null;
private Address listenAddress;
private ThreadPool threadPool;
private int n = 0;
private long start = -1;
private ByteBuffer bis = null;
private TransportMapping transport = null;
public SnmpParser(String strIP, String strRawlog) {
this.strIP = strIP;
strLog = strRawlog;
private void init() throws UnknownHostException, IOException {
threadPool = ThreadPool.create("Trap", 2);
dispatcher =
new MultiThreadedMessageDispatcher(threadPool,
new MessageDispatcherImpl());
listenAddress =
GenericAddress.parse(System.getProperty("snmp4j.listenAddress",
"udp:192.168.2.55/162")); //This 162 port caused proggram terminated because cannot bind
if (listenAddress instanceof UdpAddress) {
transport = new DefaultUdpTransportMapping((UdpAddress)listenAddress);
else {
transport = new DefaultTcpTransportMapping((TcpAddress)listenAddress);
snmp = new Snmp(dispatcher,transport);
snmp.getMessageDispatcher().addMessageProcessingModel(new MPv1());
snmp.getMessageDispatcher().addMessageProcessingModel(new MPv2c());
snmp.getMessageDispatcher().addMessageProcessingModel(new MPv3());
USM usm = new USM(SecurityProtocols.getInstance(),
new OctetString(MPv3.createLocalEngineID()), 0);
SecurityModels.getInstance().addSecurityModel(usm);
// snmp.listen();
public void doConvert() {
System.out.println("Rawlog : " strLog);
+//System.out.println("Rawlog(hex) : "+ new OctetString(strLog).toHexString());
try {
init();
snmp.addCommandResponder(this);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
//fire ProcessMessage
bis = ByteBuffer.wrap(strLog.getBytes());
try {
if(transport!=null) {
((DefaultUdpTransportMapping)transport).fireProcessMessage(new UdpAddress(InetAddress.getByName("192.168.2.55"),
162), bis);
System.out.println("Firing");
} else {
System.out.println("Not firing");
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
public void processPdu(CommandResponderEvent event) {
System.out.println(event.getPDU());
System.out.println(event.getPDU().getVariableBindings());
System.out.println(event.getPDU().getType());
Below is just my listener code
public final class UDPListener extends Listener {
private int iUDPPort = 0;
private boolean bStop = false;
private byte[] buffer = null;
private DatagramSocket dSocket = null;
private DatagramPacket dPacket = null;
public UDPListener(int piUDPPort) {
this.iUDPPort = piUDPPort;
this.buffer = new byte[1024];
private boolean exceptionCaught = false;
public UDPListener(int piUPDPort, int piBufferSize) {
this.iUDPPort = piUPDPort;
this.buffer = new byte[piBufferSize];
public void run() {
// if UDP listener initialized successfully, proceed with listening
// or else exit this thread
if (initUDPListener()) {
Indefinite loop while bStop remains false. bStop is only set in 2 places.
1. when stopListener method is called
*2. when an exception is encountered in the block*
while (!bStop) {
try {
dSocket.receive(dPacket);
extractLog();
} catch (Exception e) {
Signifying exception is caught. Ending loop
Logger.getLogger(UDPListener.class).error("Error while listening to UDP port: " + iUDPPort, e);
exceptionCaught = true;
bStop = true;
try {
if (dSocket != null)
dSocket.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (exceptionCaught)
ListenerThreadReviver.getInstance().reinitListener("UDP", iUDPPort);
Logger.getLogger(UDPListener.class).debug("UDPListener exiting gracefully");
private void extractLog() {
String strLog = "";
String strDeviceIP = "";
strLog = new String(dPacket.getData(), 0, dPacket.getLength());
strDeviceIP = dPacket.getAddress().toString().replace("/", "");
processLog(strLog, strDeviceIP);
dPacket.setLength(buffer.length);
private boolean initUDPListener() {
try {
// constructs a datagram socket and binds it to the specified port on the local host machine
dSocket = new DatagramSocket(iUDPPort);
// constructs a new datagram packet for receiving packets
dPacket = new DatagramPacket(buffer, buffer.length);
catch (SocketException e)
// if the socket could not be opened, or the socket could not bind to the specified local port.
e.printStackTrace();
// attempts to close dSocket if it is open
if (dSocket != null && !dSocket.isClosed()) {
dSocket.close();
// returns false to indicate initialization failure
return false;
return true;
public synchronized void stopListener() {
bStop = true;
dSocket.close();
-----instead of using SNMPv2-SMI::mib-2.16.19.12.0 use the actual OID.
i believe you can set it like this ipRouteNextHop.0.0.0.0 a X.X.X.X
http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=.1.3.6.1.2.1.4.21.1.7+&translate=Translate&submitValue=SUBMIT -
RVS4000 remote management using SNMP not Supported over WAN
I'm trying to mange the RVS4000 router from the WAN side. I just changed the default password and in the firewall setting:
Block WAN Request is disabled.
Remote Management is enabled with the default port.
But I am not able to connect to the router remotely (using its WAN IP address). I can ping its WAN IP address fine from the remote PC. The router functions normally (i.e. PC on the LAN can connect to the Internet) but the remote management via SNMP also does not work. In most cases, the router just does not respond to the TCP SYNC or SNMP request from the WAN. Occassionally, it responds to the TCP SYNC fine but when the remote PC requests the HTTP page, it quickly responds with FIN/ACK.
In addition, I can connect to its WAN IP address from the LAN side. But it just does not work from the WAN side.
I tried disabling firewall, IPS, etc, nothing works.
Message was edited by: Steve DiStefanoShoot, I just tried it myself. Didnt work. I contacted development team and they told me it wasnt speced to operate for SNMP management (port 161) over the WAN.
Remote Mgmt on RVS4000 is limited to WebUI access on RVS4000, and SNMP is only accessible from LAN side.
This product did not have any requirement to be accessed from Internet using SNMP.
Very sorry I didnt know this. Was there a datasheet or paper that indicated this was supported I can correct to prevent this frpom happening to others like us?
You know, I was thnking that the times I used SNMP on SB Routeres was when I was VPNed into the router, then it works, since it is supported on LANB side. is that an option for you?
Tell us about what typs of things you view walking SNMP from the NOC and we'lls ee if there are alternative ways for you to get the same data.
Steve
SE Field Channel Sales
Message was edited by: Steve DiStefano -
Problem in implementing code using snmp4j.jar
Hi,
I am using snmp4j.jar to create a class that will execute SNMP commands such as GET, GETNEXT and GETTABLE.
The issue I am facing is extremely peculiar. When running the program for the first time, the output is seen correctly. However, in the subsequent executions, the program hangs (at the point where the object of my snmp class is to be created).
I am unable to understand if some socket/port has been left open in the first run because of which successive executions are not happening. Also, the SNMP session may not be getting closed properly.
Could someone please help me out with this issue? I am pasting the code snippets here for reference.
Please do respond with your comments on the same. Thank you.
import java.io.IOException;
import java.util.List;
import java.util.Vector;
import org.snmp4j.CommunityTarget;
import org.snmp4j.PDU;
import org.snmp4j.Snmp;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.GenericAddress;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
import org.snmp4j.util.DefaultPDUFactory;
import org.snmp4j.util.TableEvent;
import org.snmp4j.util.TableUtils;
public class MySNMP
* Class variable declarations
PDU requestPDU = null;
Snmp snmp = null;
CommunityTarget target = null;
String responseString = null;
* Main method; point of execution start.
public static void main(String[] args) throws IOException
snmpUtils obj = new snmpUtils("XX.XX.XX.XX", "public", 1, 1500);
String arrGet = obj.snmpGet(".1.3.6.1.2.1.1.1.0");
System.out.println("\nGET RESPONSE");
System.out.println(arrGet);
String arrGetNext = obj.snmpGetNext(".1.3.6.1.2.1.1.1.0");
System.out.println("\nGETNEXT RESPONSE");
System.out.println(arrGetNext);
String[] arr = { ".1.3.6.1.2.1.2.2.1.1.", ".1.3.6.1.2.1.2.2.1.5" };
String arrGetTable = obj.snmpGetTable(arr);
System.out.println("\nGETTABLE RESPONSE");
System.out.println(arrGetTable);
* Parameterized constructor
public MySNMP(String IP, String commString, int version, long timeout)
// Create an instance of the Snmp class, CommunityTarget class
try
snmp = new Snmp(new DefaultUdpTransportMapping());
catch (IOException e)
e.printStackTrace();
target = new CommunityTarget();
Address targetAddress = GenericAddress.parse("udp:" + IP + "/161");
// Set the address of the target device; This is a mandatory value to be passed by the calling script
target.setAddress(targetAddress);
* Set the version of the target device;
* In cases where the version provided is not 1,2 or 3, the default value set is 1
if (version == 1)
target.setVersion(SnmpConstants.version1);
else if (version == 2)
target.setVersion(SnmpConstants.version2c);
else if (version == 3)
target.setVersion(SnmpConstants.version3);
// Set the timeout of the target device
target.setTimeout(timeout);
* Set the community string of the target device;
* In cases where the community string provided is not null, the default value is set as "public"
if (commString == null)
target.setCommunity(new OctetString("public"));
else
target.setCommunity(new OctetString(commString));
* SNMP get/getNext operation logic
public void get(String oid, int pduType)
// Create a PDU with the OID and type
requestPDU = new PDU();
requestPDU.add(new VariableBinding(new OID(oid)));
requestPDU.setType(pduType);
ResponseEvent response = null;
try
// Invoke the listen() method on the Snmp object
snmp.listen();
// Send the PDU constructed, to the target
response = snmp.send(requestPDU, target);
catch (IOException e)
e.printStackTrace();
// Retrieve the response details and put into an array called "responseArray"
responseString = new String();
if (!(response.getResponse() == null))
//Extract the response
* SNMP GET method API
public String snmpGet(String oid)
get(oid, PDU.GET);
return(responseString);
* SNMP GETNEXT method API
public String snmpGetNext(String oid) throws IOException
get(oid, PDU.GETNEXT);
return(responseString);
* SNMP getTable operation
public String snmpGetTable(String[] oid)
// Invoke the listen() method on the Snmp object
try
snmp.listen();
catch (IOException e)
e.printStackTrace();
// Create a TableUtils
TableUtils utils = new TableUtils(snmp, new DefaultPDUFactory());
// Set the lower/upper bounds for the table operation
OID lowerIndex = null;
OID upperIndex = null;
// Create an array of the OID's that need to be checked
OID[] arr = new OID[oid.length];
for (int i=0; i<oid.length; i++)
arr[i] = new OID(oid);
// Transfer output to a data structure
List list = utils.getTable(target, arr, lowerIndex, upperIndex);
// Dump the response into an array called "responseArray"
return responseString;Hi
I did some changes in the code and i invoked this for many times it still gives some response to me.
This program is not hanging.
import java.io.IOException;
import java.util.List;
import org.snmp4j.CommunityTarget;
import org.snmp4j.PDU;
import org.snmp4j.Snmp;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.GenericAddress;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
import org.snmp4j.util.DefaultPDUFactory;
import org.snmp4j.util.TableUtils;
public class MySNMP
* Class variable declarations
PDU requestPDU = null;
Snmp snmp = null;
CommunityTarget target = null;
String responseString = null;
public MySNMP()
* Main method; point of execution start.
public static void main(String[] args) throws IOException
//SnmpUtils obj = new SnmpUtils("XX.XX.XX.XX", "public", 1, 1500);
for(int i = 0; i < 10; i++)
MySNMP obj = new MySNMP("MY_IP","public",1,1000);
String arrGet = obj.snmpGet(".1.3.6.1.2.1.1.1.0");
System.out.println("\nGET RESPONSE");
System.out.println(arrGet);
String arrGetNext = obj.snmpGetNext(".1.3.6.1.2.1.1.1.0");
System.out.println("\nGETNEXT RESPONSE");
System.out.println(arrGetNext);
String[] arr = { ".1.3.6.1.2.1.2.2.1.1.", ".1.3.6.1.2.1.2.2.1.5" };
String arrGetTable = obj.snmpGetTable(arr);
System.out.println("\nGETTABLE RESPONSE");
System.out.println(arrGetTable);
* Parameterized constructor
public MySNMP(String IP, String commString, int version, long timeout)
// Create an instance of the Snmp class, CommunityTarget class
try
snmp = new Snmp(new DefaultUdpTransportMapping());
catch (IOException e)
e.printStackTrace();
target = new CommunityTarget();
Address targetAddress = GenericAddress.parse("udp:" + IP + "/161");
// Set the address of the target device; This is a mandatory value to be passed by the calling script
target.setAddress(targetAddress);
* Set the version of the target device;
* In cases where the version provided is not 1,2 or 3, the default value set is 1
if (version == 1)
target.setVersion(SnmpConstants.version1);
else if (version == 2)
target.setVersion(SnmpConstants.version2c);
else if (version == 3)
target.setVersion(SnmpConstants.version3);
// Set the timeout of the target device
target.setTimeout(timeout);
* Set the community string of the target device;
* In cases where the community string provided is not null, the default value is set as "public"
if (commString == null)
target.setCommunity(new OctetString("public"));
else
target.setCommunity(new OctetString(commString));
* SNMP get/getNext operation logic
public void get(String oid, int pduType)
// Create a PDU with the OID and type
requestPDU = new PDU();
requestPDU.add(new VariableBinding(new OID(oid)));
requestPDU.setType(pduType);
ResponseEvent response = null;
try
// Invoke the listen() method on the Snmp object
snmp.listen();
// Send the PDU constructed, to the target
response = snmp.send(requestPDU, target);
catch (IOException e)
e.printStackTrace();
// Retrieve the response details and put into an array called "responseArray"
PDU responsePdu = response.getResponse();
if(responsePdu.getErrorStatus() == 0)
responseString = responsePdu.toString();
else
System.out.println("ERROR");
if (!(response.getResponse() == null))
//Extract the response
* SNMP GET method API
public String snmpGet(String oid)
get(oid, PDU.GET);
return(responseString);
* SNMP GETNEXT method API
public String snmpGetNext(String oid) throws IOException
get(oid, PDU.GETNEXT);
return(responseString);
* SNMP getTable operation
public String snmpGetTable(String[] oid)
// Invoke the listen() method on the Snmp object
try
snmp.listen();
catch (IOException e)
e.printStackTrace();
// Create a TableUtils
TableUtils utils = new TableUtils(snmp, new DefaultPDUFactory());
// Set the lower/upper bounds for the table operation
OID lowerIndex = null;
OID upperIndex = null;
// Create an array of the OID's that need to be checked
OID[] arr = new OID[oid.length];
for (int i=0; i<oid.length; i++)
arr[i] = new OID(oid);
// Transfer output to a data structure
List list = utils.getTable(target, arr, lowerIndex, upperIndex);
// Dump the response into an array called "responseArray"
return responseString; -
Sending SNMP traps using JDMK from a SunOS 5.8 workstation
Hi,
We are using JDMK 5.1 for sending traps. This works when I run my java application (sending the traps) on my Windows desktop, where I have installed the JDMK.
I want to run my application on a Sun workstation . For this I copied the JDMK libraries and traps are not received by the SNMP Manager. I would like to know the procedure for using JDMK from Sun OS. Do I have to install the Agent on Sun workstation rather than just copying the libraries?
Thank you for the help.
-RejaniThere is a big difference between an app that isn't sending traps and one that isn't receiving them.
You aren't eating exceptions in your code are you? If not then that means the traps are being sent. And if so then it means it has nothing to do with your application and probably nothing to do with the box and probably does have something to do with the network. -
Basic MIB and SNMP understanding using JMX
Hello
i am trying to get my head around SNMP using JMX, but i am finding it dificult to know where to start.
ideally i would love to find some basic code and go through it, so that i can understand it.
i would love to find some code which just "Gets" one parameter from a mib stored on a seperate PC and displays it on another PC.
I have looked at advent - to complex for what i want.
Any help or suggestions - or possibly Code!! would be appreciated.
Thanks
NormanThere is an example code included in the upcoming book "JMX: Managing J2EE with Java Management Extensions" that shows how to retrieve a simple attribute value from an JMX SNMP Adaptor using the Sun JDMK and AdventNet SNMP toolkits. It's a brief introduction to SNMP integration but should get you started.
http://www.amazon.com/exec/obidos/ASIN/0672322889/104-6670791-7933546
Unfortunately you still have to wait a week or two to get it.
Basically the examples show how you can generate the required MBeans from an SNMP MIB definition (in Sun's JDMK this is a tool called MibGen), then register the SNMP Adaptor to the MBean server and associate and register the MBeans that were generated from the MIB to the adaptor. You can then use an SNMP client to connect to the adaptor and manipulate the MBeans through SNMP.
Hope this is of some help.
-- Juha -
Connecting to UCS6120 from Fabric Manager using TACACS
Standalone Fabric Manager 5.0(4a)
UCS 1.4(3s)
I have to log into Fabric Manager using TACACS with SNMPv3 (company network security restriction).
I launch Fabric Manger using my TACACS account which connects to all the switches in my two fabrics using the same credentials.
I can connect to all MDS9513, MDS9222i, IBM Bladechassis FC switch modules and all NX5020 switches in the fabrics. Fabric Manager cannot connect to any of the eight UCS6120 switches in the fabrics, returning a status of Unknow User or Password(Server,Client).
This, I understand, requires the creation of a specific SNMP user, which is fine. However as I am logged into Fabric Manager using a single TACACS account, I cannot supply alternate credentials to a subset of switches in the fabric.
Is there a work around for this to enable management of the 6120s in FM? or am I missing something.
Thanks
Mike TaylorFabric Manager uses the same credentials to access all systems, these credentials will need to be valid on the UCS platform as well. Create a local SNMP user on UCS and check. This needs to be different from any non-snmp authentication accounts on UCS.
Note that FM cannot manage UCS. You will be able to view into UCS but not make changes. May not be an issue if UCSM is running end host mode. To make any changes, you will need to use the UCSM GUI or CLI or other tool for administration.
Thank You,
Dan Laden
PDI Helpdesk
http://www.cisco.com/go/pdihelpdesk -
We are looking for information on SNMP management client that integrates
well with Forte. If anybody has done something with SNMP, I would like to
find out what you are using and how difficult was the process.
thanks in advance.
ka
Kamran Amin
Framework, Inc.
303 South Broadway
Tarrytown, NY 10591
(914) 631-8953x121
kamran.aminlendware.com
http://www.lendware.com/Issue resolved.
If anyone has this problem again, the solution is in two parts:
(1) SNMPAgents do not respond to incorrectly configured requests so disable the security to permit testing. For the SNMPAgent all useful setting seem to reside in the SimpleAgent.xml file, so find the SNMP "version" and set it to "1". So far I haven't been able to find any documentation for this component.
File: C:\JavaCAPS51\emanager\server\monitor\snmpagent\config\SnmpAgent.xml
<properties
version="3" -- Change to 1, available options (1|2|3)
/>
All polling requests should work now.
(2) The "AdventNet SNMP Adaptor 5 MibBrowser" doesn’t appear to support SNMP v3 security fully, or in a way compatible with the SNMPAgent implementation. The "iReasoning MIB Browser" (Professional Edition only with v3 support) works fine. Judging by the log files the CAPS SNMPAgent uses the iReasoning SNMP API. -
Hi,
what do I have to do to use SNMP for Weblogic? Do I need an extra SNMP
Manager? Which ones would you recommend? What must be the abilities of the
manager to use it for WebLogic? Must it be able to monitor the weblogic SNMP
objects? Or can I monitor all the information with my administration server?
Or can we use both ways? What would be the better one? If I need an extra
monitor? Which products are useful to monitor WebLogic?
Thanks,
MaritaAnything to do with email receiving from Network Devices is todo with SMTP forwarding.
Google / Look for SMTP configuration on MDS and hopefully there is alot on Cisco's site.
One link I found is : http://www.cisco.com/en/US/docs/switches/datacenter/mds9000/sw/4_1/configuration/guides/cli_4_1/call.html#wp1402579
Regards
Yasser -
Hi all,
Which good (famous) SNMP manager (free and shareware) use to manage not only Cisco devices, but also other vendors?
ThanksI would add:
Nagios (fault mgmt)
RANCID (configuration mgmt)
Cacti (performance mgmt)
PRTG (performance mgmt - paid version also available)
All are multivendor but require some more skills from the user to get the product setup and running. Remember - open source is free to acquire, but not free to operate and maintain. -
"encoding = UTF-8" missing while writing XML file using file Adapter
Hi,
We are facing an unique problem writing xml file using file adapter. The file is coming without the encoding part in the header of xml. An excerpt of the file that is getting generated:
<?xml version="1.0" ?>
<customerSet>
<user>
<externalID>51017</externalID>
<userInfo>
<employeeID>51017</employeeID>
<employeeType>Contractor</employeeType>
<userName/>
<firstName>Gail</firstName>
<lastName>Mikasa</lastName>
<email>[email protected]</email>
<costCenter>8506</costCenter>
<departmentCode/>
<departmentName>1200 Corp IT Exec 8506</departmentName>
<businessUnit>1200</businessUnit>
<jobTitle>HR Analyst 4</jobTitle>
<managerID>49541</managerID>
<division>290</division>
<companyName>HQ-Milpitas, US</companyName>
<workphone>
<number/>
</workphone>
<mobilePhone>
<number/>
</customerSet>
</user>
So if you see the header the "encoding=UTF-8" is missing after "version-1.0".
Do we need to configure any properties in File Adapter?? Or is it the standard way of rendering by the adapter.
Please advice.
Thanks in advance!!!System.out.println(nodeList.item(0).getFirstChild().getNodeValue());
-
Reading/Writing .xlsx files using Webdynpro for Java
Dear All
I have a requirement to read/write excel files in .xlsx format. I am good in doing it with .xls format using jxl.jar. The jxl.jar doesn't support .xlsx format. Kindly help me in understanding how do I need to proceed on reading/writing .xlsx files using Webdynpro for Java.
Thanks and Regards
Ramamoorthy Di am using jdk 1.6.22 and IBM WebSphere
when i use poi-3.6-20091214.jar and poi-ooxml-3.6-20091214.jar to read .xlsx file. but i am getting following errors
The project was not built since its classpath is incomplete. Cannot find the class
file for java.lang.Iterable. Fix the classpath then try rebuilding this project.
This compilation unit indirectly references the missing type java.lang.Iterable
(typically some required class file is referencing a type outside the classpath)
how can i resolve it
here is the code that i have used
public class HomeAction extends DispatchAction {
public ActionForward addpage(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
String name = "C:/Documents and Settings/bharath/Desktop/Book1.xlsx";
FileInputStream fis = null;
try {
Object workbook = null;
fis = new FileInputStream(name);
XSSFWorkbook wb = new XSSFWorkbook(fis);
XSSFSheet sheet = (XSSFSheet) wb.getSheetAt(0);
Iterator rows = sheet.rowIterator();
int number=sheet.getLastRowNum();
System.out.println(" number of rows"+ number);
while (rows.hasNext())
XSSFRow row = ((XSSFRow) rows.next());
Iterator cells = row.cellIterator();
while(cells.hasNext())
XSSFCell cell = (XSSFCell) cells.next();
String Value=cell.getStringCellValue();
System.out.println(Value);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
fis.close();
return mapping.findForward("returnjsp"); -
Need help writing host program using LabView.
Need help writing host program using LabView.
Hello,
I'm designing a HID device, and I want to write a host program using National Instrument's LabView. NI doesn't have any software support for USB, so I'm trying to write a few C dll files and link them to Call Library Functions. NI has some documentation on how to do this, but it's not exactly easy reading.
I've written a few C console programs (running Win 2K) using the PC host software example for a HID device from John Hyde's book "USB by design", and they run ok. From Hyde's example program, I've written a few functions that use a few API functions each. This makes the main program more streamlined. The functions are; GetHIDPath, OpenHID, GetHIDInfo, Writ
eHID, ReadHIC, and CloseHID. As I mentioned, my main program runs well with these functions.
My strategy is to make dll files from these functions and load them into LabView Call Library Functions. However, I'm having a number of subtle problems in trying to do this. The big problem I'm having now are build errors when I try to build to a dll.
I'm writing this post for a few reasons. First, I'm wondering if there are any LabView programmers who have already written USB HID host programs, and if they could give me some advice. Or, I would be grateful if a LabView or Visual C programmer could help me work out the programming problems that I'm having with my current program. If I get this LabView program working I would be happy to share it. I'm also wondering if there might already be any USB IHD LabView that I could download.
Any help would be appreciated.
Regards, George
George Dorian
Sutter Instruments
51 Digital DR.
Novato, CA 94949
USA
[email protected]
m
(415) 883-0128
FAX (415) 883-0572George may not answer you. He hasn't been online here for almost eight years.
Jim
You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice -
Running report in concurrent manager using unix shell script to create PDF
Hi,
I need help urgently, we are in the process of migrating from 10.7 to 11i. My problem is we have a report created in 10.7 that is ran through concurrent manager using shell scripts(host) and the output is stored as .pdf, in 10.7, it works perfectly. Now I am also doing it in 11i but it gives some error. The shell script from 10.7 is: r25runm module=$XXX_TOP/srw/test.rdf \
userid=$1 batch=yes \
desformat=pdf destype=file \
desname=$XXX_TOP/outbound/test.pdf
I change the shell script in 11i as follows:
ar60runb report=$XXX_TOP/reports/US/test.rdf \
userid=$1 batch=yes \
desformat=pdf destype=file \
desname=$XXX_TOP/outbound/test.pdf
I checked your metalink, and I am confused which is the right executable I should use, is it ar60runb or ar60run or rwrun60b or rwrun60c or rwrun60b, which is which? how many parameters do I have to include?, some documents are saying I have to use the 4 parameters-orauser/pwd, userid,username, request_id, others one.Which parameter/s go/es with what executable. We are using HP-UX server 64 bit. In 11i, when I run in concurrent manager it gives me an error:The executable file /chdev/fd11/u00/fd11appl/xxx/1.0/bin/test for this concurrent program cannot be executed.
Contact your system administrator or support representative. Verify that the execution path to the executable file is co.
I have checked Metalink and follow the directions, created a link fndcpesr, check and set the permissions, etc. Play around with the executables ar60runb or rwrun60 etc., the parameters. The ar60* or rwrun60* executable permissions are -rwxr-xr-x and $XXX_TOP/fnd/../fndcpesr is -rwxr-xr-x. Also, why is ar60* executables located in $FND_TOP/bin, whereas rwrun60* executables are in $ORACLE_HOME/bin? Please help, I need an answer urgently ,I have to complete this task before Tuesday 9/16/2003 for our migration deadline. Thank you very much.I have already fixed the problem, TY anyway
-
Order Quote Management using Worklist application
Hi,
I am trying to assess the best option to implement a Order Quote Management Use Case.
Use Case:
1. User creates a list of items and create an order
2. User selects 3 (or more) Suppliers and submit the order for a quotation
3. In parallel the Suppliers receive a notification (by email) and access to the Supplier portal.
4. Each single Supplier can see the order and add the prices / mark items can not deliver.
5. Each Supplier re-submits the order to the original user.
6. User can check all the Suppliers' quotes and select the best one.
I was thinking to use the Worklist applications and Human Task BPEL to perform it.
This is what I was thinking:
a. Extend the Worklist application with a customize a webpage where the user can create a items list for quotation.
b. When the user submit the order for quotation the page will call a ASYNC BPEL (called OrderQuotation).
c. The BPEL OrderQuotation process will use Human Task BPEL to start a Human Task in parallel with the Suppliers (Supplier will receive a notification by mail using the notification function as well)
d. We will expose the Worklist application (using Oracle Portal) to the Supplier
e. Supplier will login in the Worklist application and claim the task
f. Supplier will modify the order for quotation with price information and will submit back to the supplier the order now quoted.
g. User will login in Worklist application and he will see a customized page where all the orders are quoted and compared for each supplier.
Please, let me know:
1. if this approach can be achieved using the standard functionalities of Worklist application / Human Task interaction in BPEL.
2. If yes, which Human Task interaction parametrization I should use
3. If no, let me know what I have to extend in the worklist to achieve it
4. Or alternative another possible way to achieve it.
Regards,
DannyHi,
I also face the issue to port Worklist in JSP or portal other than using adf.
I am using SOA 11.1.1.2 and using BPEL and Human workflow. I did a complete flow from JSP ->BPEL->Human worlist. Whenever i
submit a form values in JSP, it hits BPEL and i am
getting proper message list in Human worklist and wherein i can able to assign, escalate and delegate tasks.
Now i need to customize the worklist in Weblogic Portal 10g or to JSP. My requirement now is to port the Worlist default skins to jsp or Portal.
I also gone through SOA 11g developers guide and in worklist sections but no idea how to implement.
If any body knows please advise.
Thanks..
-Bharathi
Maybe you are looking for
-
HT201471 How can I use 2 apps at the same time?
Is it possible to use two (2) applications at once. Ie; Internet instructional video & a book app to follow along?
-
Invoice ref and item text not printing in check ( F110)
Hi Experts, When i tried to print check using tcode F110 by following the procedure , i came to know in structure REGUP , invoice reference ( regup-rebzg) and item text ( regup-sgtxt) are not updating in REGUP . I checked this in debugger mode. Also
-
I get a message to 'contact itunes support to make the purchase' whenbuying coins for slots journey
I get a message to 'contact itunes support to make this purchase' when buying coins for slots journey, help
-
CS6 Photoshop crashes at startup
I installed CS6 Design and Production a few months ago. The license ran out of course and I have now tried to install a purchased copy. It would not install. I tried to uninstall the first installation and it would not leave entirely. I tried to rein
-
Firefox keeps serching for outlook express email when I have webmail
I am trying to reply to Craigs list. The email program Outlook Express opens up and asks me to basically set it up using the Windsor. I use web mail. How do I get it to configure using my web mail and not outlook express? It was asking me for my inco