zoukankan      html  css  js  c++  java
  • Android调用本地WebService

    package com.example.testinvokewebservice;
    
    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.HttpTransportSE;
    
    import android.content.Context;
    import android.os.AsyncTask;
    import android.util.Log;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class AsyncHttpTask extends AsyncTask<Integer, Integer, String> {
    
        private String strRes="";
        TextView textView;
        public Context context;
        @Override
        protected String doInBackground(Integer... params) {
            // TODO Auto-generated method stub
            try
            {
                // WS的命名空间
                final String targetNameSpace = "http://tempuri.org/";  
                // WSDL文档中的URL  
                final String WSDL = "http://192.168.1.25/HH.asmx";  
                //要调用的方法名
                final String methodName = "HelloWorld";  
                //查看WebService会得到此对应的SoapAction
                String soapAction = "http://tempuri.org/HelloWorld";
                SoapObject request = new SoapObject(targetNameSpace, methodName);
                SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                envelope.bodyOut = request;
    //            envelope.dotNet = true;
                HttpTransportSE http = new HttpTransportSE(WSDL);
    //            http.debug = true;
                //网上好多扯蛋的,说第一个参数为NULL可以,实测不能为NULL
                http.call(soapAction, envelope);
                if(envelope.getResponse() != null)
                {
    //                SoapObject result = (SoapObject)envelope.getResponse();
                    strRes = envelope.getResponse().toString();
                    return strRes;
                }
            }
            catch(Exception ex)
            {
                ex.printStackTrace();
            }
            return strRes;
        }
    
        /* (non-Javadoc)
         * @see android.os.AsyncTask#onPostExecute(java.lang.Object)
         */
        @Override
        protected void onPostExecute(String result) {
            // TODO Auto-generated method stub
            Toast to = Toast.makeText(context, strRes, Toast.LENGTH_LONG);
            to.show();
        }
    
        
    }
    
    class Para{
        
        
    }
    package com.example.testinvokewebservice;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.Button;
    
    public class MainActivity extends Activity {
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            Button btn= (Button)findViewById(R.id.btnLogin);
            btn.setOnClickListener(new View.OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    AsyncHttpTask http = new AsyncHttpTask();
                    http.context = getApplicationContext();
                    http.execute();
                }
            });
        }
    }

     AndroidManifest.xml增加权限方面的配置:

        <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" >
        </uses-permission>
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >
        </uses-permission>
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
        </uses-permission>
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
        </uses-permission>
  • 相关阅读:
    cf 535 A. Tavas and Nafas
    codeforces 534 A. Exam
    hust新人赛模拟 20150407 H
    hust新人赛模拟20150407 F
    hust新人赛模拟20150407 C
    hust新人赛模拟20150407 A
    [dp专题]hdu 1160 FatMouse's Speed
    [dp专题]hdu 1260 tickets
    [dp专题]G免费馅饼
    迷宫问题(bfs+记录路径)
  • 原文地址:https://www.cnblogs.com/niuge/p/4571804.html
Copyright © 2011-2022 走看看