2012-06-06 39 views
1

我正在學習如何在具有KSOAP的移動平臺(特別是Android)上使用Web服務。不過,我在創建SoapObject時似乎遇到了問題。在應用程序啓動和調試Android - 創建SoapObject拋出InvocationTargetException

String NAMESPACE = "http://webservicesx.net/"; 
String METHOD_NAME = "ChangeMetricWeightUnit"; 
String SOAP_ACTION = NAMESPACE + METHOD_NAME; 
String URL = "http://173.201.44.188/convertMetricWeight.asmx"; 

SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME); 

我的代碼崩潰表明,SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);拋出InvocationTargetException

我的logcat如下:

06-06 19:53:18.900: E/AndroidRuntime(995): FATAL EXCEPTION: main 
06-06 19:53:18.900: E/AndroidRuntime(995): java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject 
06-06 19:53:18.900: E/AndroidRuntime(995): at org.hcfcd.webtest.WebServicesTest.onCreate(WebServicesTest.java:31) 
06-06 19:53:18.900: E/AndroidRuntime(995): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
06-06 19:53:18.900: E/AndroidRuntime(995): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
06-06 19:53:18.900: E/AndroidRuntime(995): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
06-06 19:53:18.900: E/AndroidRuntime(995): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
06-06 19:53:18.900: E/AndroidRuntime(995): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
06-06 19:53:18.900: E/AndroidRuntime(995): at android.os.Handler.dispatchMessage(Handler.java:99) 
06-06 19:53:18.900: E/AndroidRuntime(995): at android.os.Looper.loop(Looper.java:130) 
06-06 19:53:18.900: E/AndroidRuntime(995): at android.app.ActivityThread.main(ActivityThread.java:3683) 
06-06 19:53:18.900: E/AndroidRuntime(995): at java.lang.reflect.Method.invokeNative(Native Method) 
06-06 19:53:18.900: E/AndroidRuntime(995): at java.lang.reflect.Method.invoke(Method.java:507) 
06-06 19:53:18.900: E/AndroidRuntime(995): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
06-06 19:53:18.900: E/AndroidRuntime(995): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
06-06 19:53:18.900: E/AndroidRuntime(995): at dalvik.system.NativeStart.main(Native Method) 

從我可以從logcat的告訴,編譯器找不到SoapObject類儘管我進口KSOAP.jar到項目的事實。

回答

-1

我也不清楚爲什麼這個工作,但在try塊周邊SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);像這樣:

try { 
SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME); 
... 
} 

導致我的代碼編譯和執行正確。不太清楚爲什麼在try區塊中簡單地包圍它使其工作,因此對該說明的任何澄清都會很好。

相關問題