Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/discovery/tools/DiscoverSingleton

here i am trying to make call using webservices via wsdl, while running code getting following exception. showing the testing code as well, please help me out. Thanks.

 import org.apache.axis.client.Service;
import org.apache.axis.client.Call;
import org.apache.commons.codec.binary.Base64;

import javax.xml.namespace.QName;
import java.net.URL;


public class WebTest {
    Service service = null;

    String endpoint = "http://mytest.com/test/Signup.jws";
    String userName =  "globel";
    String userPw =  new String(Base64.decodeBase64("Z23fG46732345FG=".getBytes()));;

    public WebTest() {
        try {
            service = new Service();
            System.out.println("*** executed successfully ");
        } catch (Exception e) {
            System.out.println("Exception - " + e.getMessage());
        }
    }
    public void testWeb(String f1, String f2, String f3, int itemcode, String f4){
    try {
            Call call = (Call)service.createCall();
            call.setTargetEndpointAddress(new URL(endpoint));
            call.setOperationName(new QName("emp"));
            call.setUsername(userName);
            call.setPassword(userPw);
            Object[] params = new Object[5];
            params[0] = new String(f1);
            params[1] = new String(f2);
            params[2] = new String(f3);
            params[3] = new Integer(itemcode);
            params[4] = new String(f4); 
            call.invoke(params);

        } catch (Exception e) {
             System.out.println("Exception - " + e.getMessage());
        }
    }

    public static void main(String[] args) {
        String orderDate = "03-Jan-2013";
        WebTest webtest= new WebTest() ;
        webtest.testWeb("rayban","aviator",orderDate,82724,"113000") ;
    }

}

getting following error -

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/discovery/tools/DiscoverSingleton at org.apache.axis.components.logger.LogFactory$1.run(LogFactory.java:45) at java.security.AccessController.doPrivileged(Native Method) at org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41) at org.apache.axis.components.logger.LogFactory.(LogFactory.java:33) at org.apache.axis.handlers.BasicHandler.(BasicHandler.java:43) at org.apache.axis.client.Service.getAxisClient(Service.java:207) at org.apache.axis.client.Service.(Service.java:225)

like image 471
b22 Avatar asked Jan 16 '14 17:01

b22


1 Answers

For maven users: add commons-discovery dependency to your pom.xml file e.g

<dependency>
    <groupId>commons-discovery</groupId>
    <artifactId>commons-discovery</artifactId>
    <version>0.4</version>
</dependency>
like image 150
Imran.Khan Avatar answered Oct 14 '22 09:10

Imran.Khan