0
當我通過wso2esb的網頁爲已部署服務「Hello」生成Java客戶端時。除了HelloServiceCallBackHandler.java和HelloServiceStub.java我創建了名爲HelloClient.java類:Wso2 ESB - 生成的Java客戶端錯誤
package org.wso2.cs.helloservices;
import java.rmi.RemoteException;
import org.wso2.cs.helloservices.HelloServiceStub.SayHello;
import org.wso2.cs.helloservices.HelloServiceStub.SayHelloResponse;
public class HelloClient {
public static void main(String[] args) {
try {
String name= new String("Test");
HelloServiceStub stub= new HelloServiceStub();
SayHello sh= new SayHello();
sh.setName(name);
SayHelloResponse resp=stub.sayHello(sh);
System.out.println("Response : "+resp);
}catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我有以下錯誤:
<font color="red"> Exception in thread "main" java.lang.NoClassDefFoundError: javax/wsdl/extensions/soap/SOAPAddress
at org.wso2.cs.helloservices.HelloServiceStub.populateAxisService(HelloServiceStub.java:41)
at org.wso2.cs.helloservices.HelloServiceStub.<init>(HelloServiceStub.java:88)
at org.wso2.cs.helloservices.HelloServiceStub.<init>(HelloServiceStub.java:77)
at org.wso2.cs.helloservices.HelloServiceStub.<init>(HelloServiceStub.java:126)
at org.wso2.cs.helloservices.HelloServiceStub.<init>(HelloServiceStub.java:118)
at org.wso2.cs.helloservices.HelloClient.main(HelloClient.java:13)
Caused by: java.lang.ClassNotFoundException: javax.wsdl.extensions.soap.SOAPAddress
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 6 more</font>
從哪裏可以找到知道我正在使用wso2-esb的AXIS2_HOME/lib?你可以請給我完整的一步一步來解決這個問題,因爲它是從4天前我試圖解決它。我在Windows和C:\ wso2esb下工作,並使用Eclipse下安裝的Studio Developer。非常感謝,祝你有個愉快的假期。 – Yanni
有兩種選擇,從Web下載axis2 binary(在AXIS2項目下載中),當您解壓縮時,您有/ lib文件夾。或者在C:\ wso2esb \ bin中鍵入'ant'(你需要安裝apache ant),這會將所有需要的jar添加到wso2esb \ repository \ lib –