http://www.webxml.com.cn/zh_cn/web_services.aspx免费webservices接口
在Android平台调用Web Service需要依赖于第三方类库ksoap2,不要在主线程操作。
需要定义命名空间、方法名、SoapAction、endPoint(方法地址)
步骤:
1、初始化请求的SoapObject
2、初始化请求SoapObject的参数
3、初始化SoapSerializationEnvelope
4、建立连接HttpTransportSE httpTransportSE = new HttpTransportSE(url);
5、调用WebService(其中参数为1:命名空间+方法名称,2:Envelope对象):
transport.call(serviceNameSpace+getWeatherbyCityName, envelope);
6、获取返回值。
// 指定WebService的命名空间和调用的方法名 SoapObject rpc = new SoapObject(nameSpace, methodName); // 设置需调用WebService接口需要传入的两个参数mobileCode、userId rpc.addProperty("mobileCode", ""); rpc.addProperty("userID", ""); // 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12); envelope.bodyOut = rpc; // 设置是否调用的是dotNet开发的WebService envelope.dotNet = true; // 等价于envelope.bodyOut = rpc; // envelope.setOutputSoapObject(rpc); HttpTransportSE transport = new HttpTransportSE(endPoint); try { // 调用WebService transport.call(soapAction, envelope); } catch (Exception e) { e.printStackTrace(); } // // 获取返回的数据 SoapObject object = (SoapObject) envelope.bodyIn;