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>
  • 相关阅读:
    Tomcat启动startup.bat闪退和JRE_HOME错误
    页面布局:一侧固定宽度,一侧自适应
    iOS-数据持久化-CoreData
    iOS-数据持久化-SQlite3
    iOS-数据持久化-偏好设置
    iOS-数据持久化-对象归档
    iOS-数据持久化-属性列表
    iOS-数据持久化基础-沙盒机制
    iOS-数据持久化详细介绍
    iOS-网络处理框架AFN
  • 原文地址:https://www.cnblogs.com/niuge/p/4571804.html
Copyright © 2011-2022 走看看