农村四月闲人少,勤学苦攻把名扬。这篇文章主要讲述android 调用.NET WebServices相关的知识,希望能为你提供帮助。
下载Ksoap2.jar,
【android 调用.NET WebServices】
importorg.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.*;
importorg.ksoap2.transport.HttpTransportSE;
importandroid.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();
推荐阅读
- Androidstudio快捷键总结
- 安卓模拟聊天界面---改编第一行代码
- AndroidNative层文件解析漏洞挖掘指南
- android 4.0 webview 无法播放视频
- Android开发各类常见错误解决方案
- Android studio下载依赖包很慢
- 秘籍第一式逻辑卷
- 秘籍第二式 时间同步配置
- 秘籍第四式 rsync+sersync