我知道当我连接到互联网时我得到这个例外的情况,但互联网不在服务,所以我的请求到服务器的时间,但我无法处理响应...之后我得到这个例外 .
//我正在 NullPointerException on response= envelope.getResponse();
class Logintask extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
setmainloader(1);
}
@Override
protected String doInBackground(String... args) {
String NAMESPACE = "URL";
String URL = "API Call";
String SOAP_ACTION = "Validate user api";
String METHOD_NAME = "Some method";
SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
Request.addProperty("TokenID", sm.getUserDetails().get(SessionManager.TOKEN_ID));
Request.addProperty("UserName", enteredusername);
Request.addProperty("Pwd", enteredpassword);
Request.addProperty("GCMID", " ");
Request.addProperty("Imei", imei);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(Request);
HttpTransportSE httpTransport = new HttpTransportSE(URL, 20000);
try {
httpTransport.call(SOAP_ACTION, envelope);
} catch (SocketTimeoutException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
//CHECK FOR RESPONSE
Log.d("check for response", "doInBackground: ");
//我在这里得到例外????当我得到这个响应时//连接没有wifi或移动数据,但互联网没有来 .
response=envelope.getResponse();
// Log.d("response",response.toString());
} catch (SoapFault e) {
// TODO Auto-generated catch block
}
return null;
}
here is my log below
致命异常:AsyncTask#6进程:com.virtuzoconsultancyservicespvtltd.attendenceapp,PID:13903 java.lang.RuntimeException:在android.os.AsyncTask $ 3.done(AsyncTask.java:309)上执行doInBackground()时发生错误.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)at java.util.concurrent.FutureTask.setException(FutureTask.java:223)at java.util.concurrent.FutureTask.run(FutureTask.java:242)at at android.os.AsyncTask $ SerialExecutor $ 1.run(AsyncTask.java:234)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java) :588)at java.lang.Thread.run(Thread.java:818)引起:java.lang.NullPointerException:尝试在空对象上调用接口方法'int org.ksoap2.serialization.KvmSerializable.getPropertyCount()'参考com.vcpl.attende上的org.ksoap2.serialization.SoapSerializationEnvelope.getResponse(SoapSerializationEnvelope.java:521) nceappnew.EmailDialog $ mailattendance.doInBackground(EmailDialog.java:224)at com.vcpl.attendenceappnew.EmailDialog $ mailattendance.doInBackground(EmailDialog.java:175)at android.os.AsyncTask $ 2.call(AsyncTask.java:295)at在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)的android.os.AsyncTask $ SerialExecutor $ 1.run(AsyncTask.java:234)java.util.concurrent.FutureTask.run(FutureTask.java:237) )java.lang.Thread.run上的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:588)(Thread.java:818)
1 回答
改变这个
对此