Android WebService(基于SOAP协议)个人记录总结
2016-05-24 10:51
375 查看
new Thread(){ @Override public void run() { try { netWork(); } catch (SoapFault soapFault) { soapFault.printStackTrace(); } } }.start(); // 命名空间 String nameSpace = "http://WebXml.com.cn/"; // 调用的方法名称 String methodName = "getSupportCity"; // EndPoint String endPoint = "http://www.webxml.com.cn/webservices/weatherwebservice.asmx"; // SOAP Action String soapAction = "http://WebXml.com.cn/getSupportCity"; private void netWork() throws SoapFault { List<Map<String,String>> listItems = new ArrayList<>(); // 指定WebService的命名空间和调用的方法名 SoapObject rpc = new SoapObject(nameSpace, methodName); // 设置需调用WebService接口需要传入的两个参数mobileCode、userId rpc.addProperty("byProvinceName", "贵州"); // 生成调用WebService方法调用的soap信息,并且指定Soap版本 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10); 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; SoapObject resultObj = (SoapObject) envelope.getResponse(); int count = resultObj.getPropertyCount(); Log.e(TAG, "result count :" + count); for (int i = 0; i < count; i++) { Map<String, String> listItem = new HashMap<String, String>(); listItem.put("province", resultObj.getProperty(i).toString()); listItems.add(listItem); } for (int i = 0; i < count; i++) { Log.e(TAG, "province :" + listItems.get(i).get("province")); } } // 获取返回的结果 // String result = object.getProperty(0).toString(); // Log.e(TAG,"result :"+result); }
参考文献:
http://blog.csdn.net/lyq8479/article/details/6420398
http://blog.csdn.net/zd_1471278687/article/details/11925349
http://blog.csdn.net/etttttss/article/details/17303315
相关文章推荐
- Android Volley完全解析(一),Volley的基本用法
- Android平台下Dalvik层hook框架ddi的研究
- Android 应用强制更新策略
- Android设计模式之单例模式
- Android绘图机制与处理技巧
- Android Drawable 那些不为人知的高效用法
- Android开发如何进阶?
- Android SQLite 支持嵌套事务吗?
- Android总结篇
- ubuntu下安装SDK
- 关于Android Fragment初始化
- ImageLoader配置
- Android Studio2.0搭建NDK环境
- Android中Fragment数据保存和恢复
- Android手机守护神(修改)
- Android性能优化
- Android基础之四大组件---Activity
- Android中突发情况数据的保存和恢复
- Android ViewPager指示器 IndicatorBar
- Android GridView自定义Adapter