如何调用ASMX Web服务威盛在Android应用程序的JSON对象 [英] How to Call ASMX Web service VIA JSON object in android Application
问题描述
我开发一个Android应用程序... 我想通过这些数据传递给 ASMX web服务 JSON对象,我想Web服务的响应和访问数据的应用程序。
谁能告诉我它是如何可能?
我的code是:
发myThread =新的Thread()
{
@覆盖
公共无效的run()
{
SoapObject请求=新SoapObject(命名空间METHOD_NAME);
request.addProperty(电子邮件,S1);
request.addProperty(密码,S2);
SoapSerializationEnvelope包=新SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(要求);
envelope.dotNet = TRUE;
尝试 {
HttpTransportSE androidHttpTransport =新HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION,包);
SoapObject结果=(SoapObject)envelope.bodyIn;
如果(结果!= NULL){
et_unm.setText(result.getProperty(0)的ToString());
} 其他
Toast.makeText(getApplicationContext(),不回应,Toast.LENGTH_LONG).show();
}赶上(例外五){
Log.v(登录::,异常 - >中+ e.toString());
e.printStackTrace();
}
}
};
myThread.start();
而不是使用KSOAP库,你可以做到这一点的内置Apache类,如HttpClient的,HTTPGET,HttpPost,等等。
例如:你要发送以下JSON对象:
{
电子邮件:test@test.com
密码:测试
}
,那么你可以通过设置请求对象 setEntity()
:
最后弦乐体=的String.Format({\电子邮件\:\%s \的\密码\:\%s \的}, S1,S2);
HttpClient的客户端=新DefaultHttpClient();
HttpPost的PostMethod =新HttpPost(webServiceUrl);
postMethod.setEntity(新StringEntity(身体,UTF-8));
I am developing an android application... and I want to pass the data to asmx webservice via json object and I want the response of web service and access the data to the application.
Can anyone tell me how it is possible?
My Code Is:
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();
Instead of using kSOAP library, you can do it with built-in apache classes like HttpClient, HttpGet, HttpPost, etc.
For example: You want to send below JSON object:
{
"email":"test@test.com",
"password":"test"
}
then you can set your request object by using 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"));
这篇关于如何调用ASMX Web服务威盛在Android应用程序的JSON对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!