2012-12-18 25 views
0

當我通過wso2esb的網頁爲已部署服務「Hello」生成Java客戶端時。除了HelloServiceCallBackHandler.javaHelloServiceStub.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> 

回答

0

這似乎是所需的罐子沒有找到(這抱怨wsld4j)。請將AXIS2_HOME/lib文件夾添加到您的程序的類路徑中。

+0

從哪裏可以找到知道我正在使用wso2-esb的AXIS2_HOME/lib?你可以請給我完整的一步一步來解決這個問題,因爲它是從4天前我試圖解決它。我在Windows和C:\ wso2esb下工作,並使用Eclipse下安裝的Studio Developer。非常感謝,祝你有個愉快的假期。 – Yanni

+0

有兩種選擇,從Web下載axis2 binary(在AXIS2項目下載中),當您解壓縮時,您有/ lib文件夾。或者在C:\ wso2esb \ bin中鍵入'ant'(你需要安裝apache ant),這會將所有需要的jar添加到wso2esb \ repository \ lib –