致命异常:main java.lang.NoClassDefFoundError:org.ksoap2.serialization.SoapObject
我想调用web服务,但有一个例外 logcat致命异常:main java.lang.NoClassDefFoundError:org.ksoap2.serialization.SoapObject,java,android,eclipse,time,android-asynctask,Java,Android,Eclipse,Time,Android Asynctask,我想调用web服务,但有一个例外 logcat 09-15 09:00:08.600: E/AndroidRuntime(1398): FATAL EXCEPTION: main 09-15 09:00:08.600: E/AndroidRuntime(1398): java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject 09-15 09:00:08.600: E/AndroidRuntime(1398):
09-15 09:00:08.600: E/AndroidRuntime(1398): FATAL EXCEPTION: main
09-15 09:00:08.600: E/AndroidRuntime(1398): java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject
09-15 09:00:08.600: E/AndroidRuntime(1398): at net.simonvt.menudrawer.samples.WebserviceCall.getFahrenheit(WebserviceCall.java:38)
09-15 09:00:08.600: E/AndroidRuntime(1398): at net.simonvt.menudrawer.samples.DotNetWebService$1.onClick(DotNetWebService.java:46)
09-15 09:00:08.600: E/AndroidRuntime(1398): at android.view.View.performClick(View.java:4202)
09-15 09:00:08.600: E/AndroidRuntime(1398): at android.view.View$PerformClick.run(View.java:17340)
09-15 09:00:08.600: E/AndroidRuntime(1398): at android.os.Handler.handleCallback(Handler.java:725)
09-15 09:00:08.600: E/AndroidRuntime(1398): at android.os.Handler.dispatchMessage(Handler.java:92)
09-15 09:00:08.600: E/AndroidRuntime(1398): at android.os.Looper.loop(Looper.java:137)
09-15 09:00:08.600: E/AndroidRuntime(1398): at android.app.ActivityThread.main(ActivityThread.java:5039)
09-15 09:00:08.600: E/AndroidRuntime(1398): at java.lang.reflect.Method.invokeNative(Native Method)
09-15 09:00:08.600: E/AndroidRuntime(1398): at java.lang.reflect.Method.invoke(Method.java:511)
09-15 09:00:08.600: E/AndroidRuntime(1398): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
09-15 09:00:08.600: E/AndroidRuntime(1398): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
09-15 09:00:08.600: E/AndroidRuntime(1398): at dalvik.system.NativeStart.main(Native Method)
mainactivity.java
public class DotNetWebService extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dot_net_web_service);
final Button webserviceCallButton = (Button) findViewById(R.id.webservice);
final EditText webserviceResponse = (EditText) findViewById(R.id.webserviceResponse);
WebserviceCall com = new WebserviceCall();
//Call Webservice class method and pass values and get response
String aResponse = com.getFahrenheit("Place");
}}
WebserviceCall.java
public class WebserviceCall {
/**
* Variable Decleration................
*
*/
String namespace = "http://tempuri.org";
private String url = "my webservice";
String SOAP_ACTION="http://tempuri.org/Place";
WebserviceCall() {
}
/**
* Set Envelope
*/
public String getFahrenheit(String method) {
String fahren = "erorr";
SoapObject request = new SoapObject(namespace, method);
//Set Name
//Create envelope
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
//Set output SOAP object
envelope.setOutputSoapObject(request);
//Create HTTP call object
HttpTransportSE androidHttpTransport = new HttpTransportSE(url);
try {
//Invole web service
androidHttpTransport.call(SOAP_ACTION, envelope);
//Get the response
SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
//Assign it to fahren static variable
fahren = response.toString();
} catch (Exception e) {
fahren=e.toString();
}
return fahren;
}
/************************************/
}
stacktrace只是告诉您org.ksoap2.serialization.SoapObject依赖项不可用,但我添加了导入org.ksoap2.serialization.SoapObject;你在哪里加的?它似乎在运行时不可用。您是否使用Maver构建代码?这是我的import org.ksoap2.SoapEnvelope;导入org.ksoap2.serialization.PropertyInfo;导入org.ksoap2.serialization.SoapObject;导入org.ksoap2.serialization.SoapPrimitive;导入org.ksoap2.serialization.SoapSerializationEnvelope;导入org.ksoap2.transport.AndroidHttpTransport;导入org.ksoap2.transport.HttpTransportSE;请编辑您的问题以添加此代码。因此,您似乎在编译时有这种依赖关系,但在运行时没有。您如何包装您的工件?