Android個人學習筆記-使用myeclipse快速建立webservice並在Android中調用(續),androidmyeclipse
2、Android端webservice的調用
package net.zmqc.service;import org.ksoap2.SoapEnvelope;import org.ksoap2.serialization.SoapObject;import org.ksoap2.serialization.SoapSerializationEnvelope;import org.ksoap2.transport.HttpTransportSE;public class InfoWebService {public static String soapCallWebService(double p_x,double p_y) {String result = "無資料出現!!!!!!!!";String url = "http://127.0.0.1:8080/InfoGpsService/InfoServicePort";String nameSpace = "http://service.zmqc.net/";//調用的方法String methodName = "getInfoList"; //建立httpTransportSE傳輸對象 HttpTransportSE ht = new HttpTransportSE(url); ht.debug = true; //使用soap1.1協議建立Envelop對象 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); //執行個體化SoapObject對象 SoapObject request = new SoapObject(nameSpace, methodName); //設定參數,參數名不一定需要跟調用的伺服器端的參數名相同,只需要對應的順序相同即可 request.addProperty("arg0", p_x+""); request.addProperty("arg1", p_y+""); envelope.bodyOut = request;try {// web service請求ht.call(null, envelope);// 擷取返回的資料 result = envelope.getResponse().toString();} catch (Exception e) {// TODO: handle exceptione.printStackTrace();result = "串連出錯了";}return result;}}
調用採用的是ksoap,是ksoap2-...jar包,可以百度下載
這樣在activity裡面就可以擷取啦,該Android應用的功能主要有完成定位,並將定位經緯度作為參數調用web服務,然後會返回一個json字串,通過對字串的解析,獲得Information