WebService

来源:互联网 发布:苹果mac版cad看图软件 编辑:程序博客网 时间:2024/06/18 15:45

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void btnWeather(View v){
        webServiceWeather();

    }


    /**
     * 获取天气的方法
     */
    private void webServiceWeather(){
        new Thread(){
            @Override
            public void run() {
                super.run();
                //异常处理快捷键 : Ctrl + Alt + T
                try {
                    //创建一个信封
                    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                    //得到一个信纸,写信的内容
                    SoapObject soapObject= new SoapObject("http://WebXml.com.cn/", "getWeather");
                    soapObject.addProperty("theCityCode", "北京");
                    soapObject.addProperty("theUserID","e704ccfd7ac54068924ce856ee82e587");
                    //包装到信封中
                    envelope.bodyOut=soapObject;
                    //设置平台的兼容性 .Net写的 C#
                    envelope.dotNet=true;
                    //联系快递员
                    HttpTransportSE httpTransportSE = new HttpTransportSE("http://ws.webxml.com.cn/WebServices/WeatherWS.asmx");
                    //发送
                    httpTransportSE.call("http://WebXml.com.cn/getWeather",envelope);
                    //等待对方响应
                    if (envelope.getResponse()!=null){
                        //得到服务响应的内容
                        //强转快捷键  Alt + Enter
                        SoapObject object= (SoapObject) envelope.bodyIn;
                        System.out.println(object.toString());
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }.start();
    }
}