Hello everyone,

I'm new in SNMP world, and i need some help from you guys to solve the problem that i have these past few days. I am doing a project about publishing SNMP protocol to web service by using Apache Web Axis2. The problem comes when i want to run it. FYI I am using Java as the language, Eclipse 3.3 as the IDE, Apache 5.5 as the web server and axis2 1.4 as the web service.

This is my workaround with SNMP4J:

package nms;
import java.io.IOException;

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;

public class SnmpServer {
public String getSnmp(String ip, String oid, String comm, int ver, long timeout)throws IOException
   {
       Snmp snmp = new Snmp(new DefaultUdpTransportMapping());
       String responseString = null;
       CommunityTarget target = new CommunityTarget();
       Address targetAddress = GenericAddress.parse("udp:" + ip + "/161");
       target.setAddress(targetAddress);
       if(ver == 1)
           target.setVersion(SnmpConstants.version1);
       else if(ver == 3)
           target.setVersion(SnmpConstants.version3);
       else
           target.setVersion(SnmpConstants.version2c);
target.setTimeout(timeout);
       if(comm == null)
           target.setCommunity(new OctetString("public"));
       else
           target.setCommunity(new OctetString(comm));
       PDU requestPDU = new PDU();
       requestPDU.add(new VariableBinding(new OID(oid)));
       requestPDU.setType(PDU.GET);
       ResponseEvent response = null;
       snmp.listen();
response = snmp.send(requestPDU, target); PDU responsePDU = response.getResponse();
       if(responsePDU.getErrorStatus() == 0)
           responseString = responsePDU.toString();
       else
           System.out.println("Error");
       if(!(response.getResponse() == null))
System.out.println("Error"); return responseString;
   }
}

I'm assuming that there is something wrong with SNMP4J since axis2 stated that:

The SnmpServer service, which is not valid, caused java.lang.NoClassDefFoundError: org/snmp4j/TransportMapping
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:242)
at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.<init>(DefaultSchemaGenerator.java:157) at org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:524) at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:386) at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:102) at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:179) at org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:81) at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136) at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:597) at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144) at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:330) at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:227) at org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngine.java:131) at org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(WarBasedAxisConfigurator.java:284) at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:82) at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:516) at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:436) at org.apache.axis2.transport.http.AxisAdminServlet.init(AxisAdminServlet.java:55) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
   at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:448) at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
   at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

[INFO] org.apache.axis2.deployment.DeploymentException: java.lang.NoClassDefFoundError: org/snmp4j/TransportMapping

It is said that there are no class definition found in the TransportMapping. Is there somebody that know how to solve this?

I am sorry if I am posting this problem to the wrong mailing list, don't know where to go :D

Regards,

tazlambert
_______________________________________________
SNMP4J mailing list
[email protected]
http://lists.agentpp.org/mailman/listinfo/snmp4j

Reply via email to