android 调用.NET WebServices

Posted 陈-chen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 调用.NET WebServices相关的知识,希望对你有一定的参考价值。

下载Ksoap2.jar,

 

import  org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.*;
import org.ksoap2.transport.HttpTransportSE;
import android.os.Handler;

Handler handler = new Handler() {

@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Bundle bundle= msg.getData();
String result=bundle.getString("result");

Toast.makeText(LoginActivity.this,result,Toast.LENGTH_SHORT).show();
}
};

new Thread() {
public void run() {

String Namespace = "http://tempuri.org/";
String MethodName = "UserLogin";
String WEB_SERVICE_URL = "http://192.168.4.2/myWeb/User.asmx";

SoapObject request = new SoapObject(Namespace, MethodName);
// 2、设置调用方法的参数值,如果没有参数,可以省略,


// 3、生成调用Webservice方法的SOAP请求信息。该信息由SoapSerializationEnvelope对象描述
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER12);
envelope.bodyOut = request;
// c#写的应用程序必须加上这句
envelope.dotNet = true;
HttpTransportSE ht = new HttpTransportSE(WEB_SERVICE_URL);
// 使用call方法调用WebService方法
try {

ht.call(null, envelope);
} catch (Exception e) {
e.printStackTrace();
}
try {
final SoapPrimitive result = (SoapPrimitive) envelope.getResponse();
if (result != null) {
Log.d("----收到的回复----", result.toString());


Message message=new Message();
Bundle bundle=new Bundle();
bundle.putString("result",result.toString());
message.setData(bundle);
handler.sendMessage(message);


}


} catch (Exception e) {
Log.e("----发生错误---", e.getMessage());
e.printStackTrace();
}
}
}.start();































































以上是关于android 调用.NET WebServices的主要内容,如果未能解决你的问题,请参考以下文章

android调用webservice接口都有啥方式

如何在ASP.net中调用webservice里的一个方法

.net中webservice是同步调用还是异步调用

android怎样调用webService

.net 里就给了一个webservice接口怎么用

android和.net webservice中的DES加密算法