1

KSOAP を使用してモバイル プラットフォーム (特に Android) で Web サービスを使用する方法を学んでいます。ただし、作成時に問題が発生しているようですSoapObject

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 からわかることによると、KSOAP.jar をプロジェクトにインポートしたにもかかわらず、コンパイラは SoapObject クラスを見つけることができませんでした。

4

2 に答える 2

0

Androidの質問にksoap2ライブラリを使用しているときに、例外と同じ問題が発生する可能性があります。これを試してください。

于 2012-06-07T06:32:47.077 に答える
-1

なぜこれが機能したのか正確にはわかりませんが、次のようなブロックで囲まSoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);れています。try

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

その結果、コードが正しくコンパイルおよび実行されました。なぜそれをブロックで囲むだけtryでうまくいくのかよくわからないので、そのメモを明確にするといいでしょう。

于 2012-06-07T12:28:32.690 に答える