Вызов метода веб-службы C # с использованием залпа в Android - PullRequest
0 голосов
/ 07 ноября 2018

Я прочитал почти все связанные вопросы, но, к сожалению, никто не решил мою проблему. Моя проблема в том, что я создал веб-сервис на C # и создал в нем четыре метода для разных целей, и один из них называется getSections, вот он:

[WebMethod]
    public string getSections()
    {
        connectToDB();
        da = new SqlDataAdapter("select * from Sections", link);

        dt = new DataTable();
        da.Fill(dt);

        return Newtonsoft.Json.JsonConvert.SerializeObject(dt,Newtonsoft.Json.Formatting.Indented);
    }

Когда я тестирую веб-сервис из Visual Studio, он показывает ссылки на четыре метода, чтобы вызывать их один за другим, все они работают нормально, поэтому я загрузил их на свой сервер. После этого я попытался получить доступ к методу getSections из моего приложения, используя залп, и вот как я это сделал:

private fun getAllSections() {
    /**
     * Start Downloading all the sections
     */


    var uri="http://......../myProject/WebService1.asmx?op=getSections";

    val stringRequest = object : StringRequest(Request.Method.POST, uri, Listener<String> { response ->

        Log.i("SectionsResponse", response)
        Toast.makeText(this,"SectionsResponse: "+response,Toast.LENGTH_LONG).show()

    }, object : Response.ErrorListener {
        override fun onErrorResponse(error: VolleyError?) {
            if (error != null) {
                Log.i("SectionsError:", error.message.toString())
                Toast.makeText(baseContext,"error"+error.message.toString(),Toast.LENGTH_LONG).show()
          }
        }
    }) {
        override fun getParams(): MutableMap<String, String> {
            val params=HashMap<String,String>()
            //params.put("a","aa")
            return params
        }
    }

    if (Funs().isOnline(this)) {

        val requesQueue = Volley.newRequestQueue(this)
        requesQueue.add<String>(stringRequest)

    } else {
        Toast.makeText(this, resources.getString(R.string.connectionFailed), Toast.LENGTH_LONG).show()
    }
    /**
     * End Downloading all the sections
     */
}

После всего вышеперечисленного я получаю нулевой результат от прослушивателя ошибок, что означает, что URL-адрес недействителен или не найден. так

Каков правильный способ доступа к методу в веб-сервисе c # с использованием библиотеки залпа.

ценю любую помощь.

...