如何在 android 应用程序中通过 JSON 对象调用 ASMX Web 服务

2023-11-30

我正在开发一个Android应用程序... 我想将数据传递给asmx 网络服务 via json对象我想要网络服务的响应并将数据访问到应用程序。

谁能告诉我这怎么可能?

我的代码是:

    Thread myThread = new Thread()
{
    @Override
    public void run()
    {
        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        request.addProperty("email",s1);
        request.addProperty("password",s2);
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.setOutputSoapObject(request);
        envelope.dotNet = true;
        try {
            HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
            androidHttpTransport.call(SOAP_ACTION, envelope);
            SoapObject result = (SoapObject)envelope.bodyIn;
            if(result != null){
                et_unm.setText(result.getProperty(0).toString());
            } else
                Toast.makeText(getApplicationContext(), "No Response",Toast.LENGTH_LONG).show();
        }catch (Exception e){
            Log.v("LOGIN::","Exception--->"+e.toString());
            e.printStackTrace();
        }
    }
};
myThread.start();

您可以使用内置的 apache 类(例如 HttpClient、HttpGet、HttpPost 等)来代替使​​用 kSOAP 库。

例如:您要发送以下 JSON 对象:

{
   "email":"[email protected]",
   "password":"test"
}

然后你可以使用设置你的请求对象setEntity():

final String body = String.format("{\"email\":\"%s\",\"password\":\"%s\"}", s1, s2);

HttpClient client = new DefaultHttpClient();
HttpPost postMethod = new HttpPost(webServiceUrl);
postMethod.setEntity(new StringEntity(body, "utf-8"));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 android 应用程序中通过 JSON 对象调用 ASMX Web 服务 的相关文章

随机推荐