Android SOAP示例程序错误

时间:2013-03-11 07:25:44

标签: android soap

Android SOAP示例程序错误

如何纠正此错误。请帮帮我

Main.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)

1 个答案:

答案 0 :(得分:2)

ksoap2-机器人组装-2.6.2-罐与 - dependencies.jar

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

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

清理并构建项目。这应该对你有帮助。

EDIT1

右键点击“项目” - >属性 - > Java构建路径 - >订单和出口 enter image description here

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