zoukankan      html  css  js  c++  java
  • 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();
  • 相关阅读:
    连通分量板子
    2017年7月17日
    强连通缩点— HDU1827
    马拉车代码
    表达式求值
    Gym-100883F、Gym-101095B状态压缩小结
    矩阵快速幂小结-Hdu2604
    3月27日
    简单移动端自适应轮播图
    上了热搜榜前端工程师面试内幕
  • 原文地址:https://www.cnblogs.com/Chareree/p/6119882.html
Copyright © 2011-2022 走看看