在这里,我试图通过 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)