线程“main”中的异常 java.lang.NoClassDefFoundError: org/apache/commons/discovery/tools/DiscoverSingleton

b22*_*b22 5 java web-services

在这里,我试图通过 wsdl 使用 webservices 进行调用,同时运行代码时出现以下异常。也显示测试代码,请帮帮我。谢谢。

 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") ;
    }

}
Run Code Online (Sandbox Code Playgroud)

得到以下错误 -

线程“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)

小智 7

对于 maven 用户:将 commons-discovery 依赖项添加到您的 pom.xml 文件中,例如

<dependency>
    <groupId>commons-discovery</groupId>
    <artifactId>commons-discovery</artifactId>
    <version>0.4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)


b22*_*b22 1

将 discovery-0.4.jar 添加到我的代码中,它解决了我的问题。