1

无法使用某种 Android 访问 Web 服务。我正在使用 Eclipse 和 ksoap2 库。网上流传的所有代码我都试过了。我正在做的错误在哪里。我再次安装了所有东西,但没有帮助。

截屏

错误日志

08-25 11:32:51.872: E/Trace(972): 打开跟踪文件时出错: 没有这样的文件或目录 (2)

08-25 11:32:56.143: E/dalvikvm(972): 找不到类 'org.ksoap2.serialization.SoapObject',引用自方法 com.knnklz.webservice04.MainActivity$2.run

08-25 11:32:56.193:E/AndroidRuntime(972):致命异常:Thread-93

08-25 11:32:56.193: E/AndroidRuntime(972): java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject

08-25 11:32:56.193: E/AndroidRuntime(972): at com.knnklz.webservice04.MainActivity$2.run(MainActivity.java:277)

安卓Java代码

tx = (TextView)findViewById(R.id.textView1);            

            try {
                SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
                request.addProperty("Celsius", "85");
                SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

                envelope.dotNet = true;
                envelope.setOutputSoapObject(request);
                HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);


                androidHttpTransport.debug = true;
                androidHttpTransport.call(SOAP_ACTION, envelope);
                SoapPrimitive response = (SoapPrimitive) envelope.getResponse();

                tx.setText(response.toString());

            } catch (Exception e1) {
                e1.printStackTrace();
            }
4

3 回答 3

1

您会收到此错误的原因只有三个:

  1. 这个类真的不存在。如果您使用官方示例中的代码并获取此代码,请确保您拥有该库的最新版本
  2. 您尚未将 jar 添加到构建路径中。要解决此问题,请右键单击 Eclipse 中的 jar,然后执行 Build Path ► Add to Build Path。
  3. 您的 jar 不在 /libs 文件夹中。当您将 jar 添加到构建路径时会发生这种情况,但较新版本的 ADT 需要它位于 /libs 中。将其放在那里并将其重新添加到构建路径中。
于 2012-08-25T12:19:56.033 回答
0

在项目目录中创建一个名为“ libs ”的文件夹,并将所有外部 jar 文件复制到那里。

Make sure you have added the ksoap library to the Build Path by by right clicking on the jar file and "Add it to build"

Plus make sure you are using the latest version of the ksoap library. Direct download link.

于 2012-08-25T12:20:16.920 回答
0

I removed the following line, and improved.

File: AndroidManifest.xml

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />
于 2012-08-26T06:12:02.490 回答