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 exception
e.printStackTrace();
result = "连接出错了";
}
return result;
}
}
调用采用的是ksoap,下图是ksoap2-...jar包,可以百度下载
这样在activity里面就可以获取啦,该Android应用的功能主要有完成定位,并将定位经纬度作为参数调用web服务,然后会返回一个json字符串,通过对字符串的解析,获得Information