3

Android SOAP 示例程序错误

如何纠正这个错误。请帮我

主.java

public class Main extends Activity {

private static String SOAP_ACTION = "http://tempuri.org/HelloWorld";

private static String NAMESPACE = "http://tempuri.org/";
private static String METHOD_NAME = "HelloWorld";

private static String URL = "http://sygnetinfosol.com/webservice.asmx";


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    //Initialize soap request + add parameters
    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);        
    request.addProperty("Parameter","Value");


    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.setOutputSoapObject(request);

    // Make the soap call.
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
    try {

        //this is the actual part that will call the webservice
        androidHttpTransport.call(SOAP_ACTION, envelope);        
    } catch (Exception e) {
        e.printStackTrace(); 
    } 

    // Get the SoapResult from the envelope body.       
    SoapObject result = (SoapObject)envelope.bodyIn;

    if(result != null){
        TextView t = (TextView)this.findViewById(R.id.resultbox);
        t.setText("SOAP response:\n\n" + result.getProperty(0).toString());
    }

}
}

Logcat 错误

03-11 07:07:07.320: E/AndroidRuntime(908): FATAL EXCEPTION: main
03-11 07:07:07.320: E/AndroidRuntime(908): java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject
03-11 07:07:07.320: E/AndroidRuntime(908):  at com.pxr.tutorial.soap.weather.Main.onCreate(Main.java:29)
03-11 07:07:07.320: E/AndroidRuntime(908):  at android.app.Activity.performCreate(Activity.java:5104)
03-11 07:07:07.320: E/AndroidRuntime(908):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
03-11 07:07:07.320: E/AndroidRuntime(908):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
03-11 07:07:07.320: E/AndroidRuntime(908):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
03-11 07:07:07.320: E/AndroidRuntime(908):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
03-11 07:07:07.320: E/AndroidRuntime(908):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
03-11 07:07:07.320: E/AndroidRuntime(908):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-11 07:07:07.320: E/AndroidRuntime(908):  at android.os.Looper.loop(Looper.java:137)
03-11 07:07:07.320: E/AndroidRuntime(908):  at android.app.ActivityThread.main(ActivityThread.java:5041)
03-11 07:07:07.320: E/AndroidRuntime(908):  at java.lang.reflect.Method.invokeNative(Native Method)
03-11 07:07:07.320: E/AndroidRuntime(908):  at java.lang.reflect.Method.invoke(Method.java:511)
03-11 07:07:07.320: E/AndroidRuntime(908):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
03-11 07:07:07.320: E/AndroidRuntime(908):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
03-11 07:07:07.320: E/AndroidRuntime(908):  at dalvik.system.NativeStart.main(Native Method)
4

1 回答 1

2

ksoap2-android-assembly-2.6.2-jar-with-dependencies.jar

放在 /libs 文件夹下,以便 Eclipse ADT 自动将您的 jars 添加到应用程序的构建路径中。

下载 ksoap。罐。把它放在 libs 文件夹下。右键单击项目。转到属性。转到 java 构建路径。单击添加罐子。将 ksaop jar 文件从 lib 文件夹添加到您的项目中。

清理并构建项目。这应该可以帮助你。

编辑1

右键单击“项目”-> 属性-> Java 构建路径-> 排序和导出 在此处输入图像描述

现在,请确保您已经“检查”了外部添加的“jar”文件,正如您在快照中看到的那样。确保该外部 jar 文件的顺序也与 snap 中显示的相同。

于 2013-03-11T07:29:09.313 回答