Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从android调用ksoap web服务_Android_Sql Server - Fatal编程技术网

如何从android调用ksoap web服务

如何从android调用ksoap web服务,android,sql-server,Android,Sql Server,我想在android studio中使用ksoaplib。 但我还没有充分认识到这一点。 (我总是使用Volleylib来发送/接收来自php api的数据,它工作得很好。) URL地址: 我的职能: public object[] CheckUsers(string number , string user , string pass) SOAP\u操作和命名空间变量是否正确 private static final String SOAP_ACTION = "http://sms14

我想在android studio中使用
ksoap
lib。 但我还没有充分认识到这一点。 (我总是使用
Volley
lib来发送/接收来自php api的数据,它工作得很好。)

URL地址:

我的职能:

public object[] CheckUsers(string number , string user  , string pass)

SOAP\u操作
命名空间
变量是否正确

private static final String SOAP_ACTION = "http://sms141.ir/CheckUsers";
private static final String METHOD_NAME = "CheckUsers";
private static final String NAMESPACE = "http://sms141.ir";
private static final String URL = "http://sms141.ir/sms141_webservice.asmx";


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sms_login);

    myAsyncTask myRequest = new myAsyncTask();
    myRequest.execute();

}


private class myAsyncTask extends AsyncTask<Void, Void, Void> {


    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
       // tv.setText(response);
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected Void doInBackground(Void... arg0) {

        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        request.addProperty("number", "value");
        request.addProperty("user", "value");
        request.addProperty("pass", "value");

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

        HttpTransportSE httpTransport = new HttpTransportSE(URL);

        httpTransport.debug = true;
        try {
            httpTransport.call(SOAP_ACTION, envelope);
        }catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (XmlPullParserException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } //send request
        SoapObject result = null;
        try {
            result = (SoapObject)envelope.getResponse();
        } catch (SoapFault e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        Log.d("App",""+result.getProperty(1).toString());
        String response = result.getProperty(1).toString();


        Log.e("result","0"+response);


        return null;
    }
}

根据我对您的问题的理解,您只需要知道如何在android上使用KSOAP2库与服务器进行通信

下面是一个链接,您将通过该链接获得实现

> 06-17 18:32:02.751  11495-11515/com.almas.mehr.sms E/AndroidRuntime﹕
> FATAL EXCEPTION: AsyncTask #1
>     java.lang.RuntimeException: An error occured while executing doInBackground()
>             at android.os.AsyncTask$3.done(AsyncTask.java:299)
>             at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
>             at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
>             at java.util.concurrent.FutureTask.run(FutureTask.java:239)
>             at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
>             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
>             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
>             at java.lang.Thread.run(Thread.java:856)
>      Caused by: java.lang.NullPointerException
>             at com.almas.mehr.sms.Login$myAsyncTask.doInBackground(Login.java:211)
>             at com.almas.mehr.sms.Login$myAsyncTask.doInBackground(Login.java:166)
>             at android.os.AsyncTask$2.call(AsyncTask.java:287)
>             at java.util.concurrent.FutureTask.run(FutureTask.java:234)
>             at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
>             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
>             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
>             at java.lang.Thread.run(Thread.java:856)