首页 文章

'int org.ksoap2.serialization.KvmSerializable.getPropertyCount()'对空对象引用

提问于
浏览
2

我知道当我连接到互联网时我得到这个例外的情况,但互联网不在服务,所以我的请求到服务器的时间,但我无法处理响应...之后我得到这个例外 .

//我正在 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 回答

  • 1

    改变这个

    response=envelope.getResponse();
    

    对此

    SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
    

相关问题