无法在Android中访问网络服务

时间:2012-08-25 12:14:03

标签: java android web-services

无法使用各种Android访问网络服务。我正在使用Eclipse和ksoap2库。我已经尝试了在互联网上传播的所有代码。我正在做的错误在哪里。我再次安装了一切,但没有用。

Screenshot

错误记录

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)

Android 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();
            }

3 个答案:

答案 0 :(得分:1)

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

  1. 这堂课真的不存在。如果您使用的是官方示例中的代码并获得此代码,请确保您拥有该库的最新版本
  2. 您尚未将jar添加到构建路径中。要解决此问题,请右键单击Eclipse中的jar,然后执行BuildPath►Addto Build Path。
  3. 您的jar不在/ libs文件夹中。将jar添加到构建路径时会发生这种情况,但较新版本的ADT需要将它放在/ libs中。把它放在那里并重新添加到构建路径。

答案 1 :(得分:0)

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

确保已通过右键单击jar文件并将“将其添加到构建”将ksoap库添加到构建路径

另外请确保您使用的是最新版本的ksoap库。 Direct download link

答案 2 :(得分:0)

我删除了以下行,并进行了改进。

文件: AndroidManifest.xml

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />