• android调用 .net webService


    package com.rockcheck.mes;
    
    import android.os.AsyncTask;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.KeyEvent;
    import android.view.View;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.*;
    import org.ksoap2.transport.HttpTransportSE;
    
    
    public class PDAActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.pda_home);
        }
    
        //点击按钮事件调用异步
        public void webQuery (View view){
            new DownloadTask().execute();
        }
    
        //
        public Object web (){
            Object result=null;
            String asmx_url="http://xxx/Service1.asmx";
            String nameSpace="http://tempuri.org/";
            String methodName="xxx";
    
            //指定webservice的命名空间和调用方法
            SoapObject soapObject = new SoapObject(nameSpace,methodName);
            //设置需要调用的webServices接口需要传入的参数,参数1 string,参数2 object
            soapObject.addProperty("aaa",null);
            //调用webService方法的SOAP请求信息,并指定SOAP的版本 ,这个版本 根据 asdl文件中是1.1还是1.2协议来指定的. 一般VER11或者VER12都可以,以前还有VER10
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
            //创建的SoapObject对象设为SoapSerializationEnvelope的传出SOAP消息体
            envelope.bodyOut = soapObject;
            //设置是否调用的是dotNet开发的webService
            envelope.dotNet = true;
            //创建HttpTransportSE对象,该对象用于调用webService操作
            HttpTransportSE transportSE = new HttpTransportSE(asmx_url);
            //使用调试功能
            transportSE.debug = true;
           try {
               //调用操作对象call方法,将SoapSerializationEnvelope作为参数调用远程webService
               transportSE.call(nameSpace+methodName,envelope);
               result = (Object) envelope.bodyIn;
               //result = (Object) envelope.getResponse();
            } catch (Exception e) {
               e.printStackTrace();
            }
           //Toast.makeText(this, result.toString(), Toast.LENGTH_SHORT).show();
            return result;
        }
    
        //
        class DownloadTask extends AsyncTask<Void,Integer,Boolean> {
            Object  result=null;
            @Override
            protected Boolean doInBackground(Void... voids) {
                result =  web(); //在子线程中请求webservice
                return null;
            }
            @Override
            protected void onPostExecute(Boolean aBoolean) {
                Toast.makeText(PDAActivity.this, result.toString(), Toast.LENGTH_SHORT).show();
            }
        }
    }
  • 相关阅读:
    vue.js生成纵向拓扑图
    vue.js生成横向拓扑图
    Vue.js中使用wangEditor富文本编辑器
    文件上传与下载,PDF与Excel的操作
    Element布局实现日历布局
    golang时间转换
    iView学习笔记(四):Form表单操作
    iView学习笔记(三):表格搜索,过滤及隐藏列操作
    iView学习笔记(二):Table行编辑操作
    iView学习笔记(一):Table基本操作(包含前后端示例代码)
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/8717337.html
Copyright © 2020-2023  润新知