Android个人学习笔记-使用myeclipse快速创建webservice并在Android中调用(续)

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

发布了89 篇原创文章 · 获赞 28 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/iceyung/article/details/45648067
今日推荐