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();
}
}