我正在开发一个Android应用程序...... 我想通过 json对象将数据传递给 asmx webservice ,我想要Web服务的响应并将数据访问应用程序。
有谁能告诉我这是怎么可能的?
我的代码是:
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();
答案 0 :(得分:0)
您可以使用内置的apache类(如HttpClient,HttpGet,HttpPost等)来代替使用kSOAP库。
例如:您想要发送以下JSON对象:
{
"email":"test@test.com",
"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"));