Android调用Webservice
2016-04-25 09:47
519 查看
Google为Android平台开发Web Service客户端提供了ksoap2-android项目,在这个网址下载开发包http://code.google.com/p/ksoap2-android/source/browse/m2-repo/com/google/code/ksoap2-android/ksoap2-android-assembly/3.1.0/ksoap2-android-assembly-3.1.0-jar-with-dependencies.jar
使用 kspoap2-android调用webserice操作的步骤如下:
1、创建HttpTransportSE传说对象 传入webservice服务器地址
final HttpTransportSE httpSE = new HttpTransportSE(SERVER_URL);
2、 创建SoapObject对象,创建该对象时需要传入所要调用Wb Service的命名空间、Web Service方法名;如果有参数要传给Web Service服务器,调用SoapObject对象的addProperty(String name,Object value)方法来设置参数,该方法的name参数指定参数名;value参数指定参数值
SoapObject soapObject = new SoapObject(PACE, M_NAME);
soapObject.addProperty("byProvinceName ", citys);
3、创建SoapSerializationEnelope对象,并传入SOAP协议的版本号;并设置对象的bodyOut属性
final SoapSerializationEnvelope soapserial = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
soapserial.bodyOut = soapObject;
// 设置与.NET提供的Web service保持有良好的兼容性
soapserial.dotNet = true;
6、调用HttpTransportSE对象的call()方法,其中call的第一个参数soapAction,第二个为SoapSerializationEvelope对象 调用远程Web Service;
// 调用HttpTransportSE对象的call方法来调用 webserice
httpSE.call(PACE + M_NAME, soapserial);
7、获取返回的信息,并解析
// 获取服务器响应返回的SOAP消息
SoapObject result = (SoapObject) soapserial.bodyIn;
SoapObject detail = (SoapObject) result.getProperty("getSupportProvinceResult");
//解析返回信息
for (int i = 0; i < detail.getPropertyCount(); i++) {
citys.add(detail.getProperty(i).toString());
}
使用 kspoap2-android调用webserice操作的步骤如下:
1、创建HttpTransportSE传说对象 传入webservice服务器地址
final HttpTransportSE httpSE = new HttpTransportSE(SERVER_URL);
2、 创建SoapObject对象,创建该对象时需要传入所要调用Wb Service的命名空间、Web Service方法名;如果有参数要传给Web Service服务器,调用SoapObject对象的addProperty(String name,Object value)方法来设置参数,该方法的name参数指定参数名;value参数指定参数值
SoapObject soapObject = new SoapObject(PACE, M_NAME);
soapObject.addProperty("byProvinceName ", citys);
3、创建SoapSerializationEnelope对象,并传入SOAP协议的版本号;并设置对象的bodyOut属性
final SoapSerializationEnvelope soapserial = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
soapserial.bodyOut = soapObject;
// 设置与.NET提供的Web service保持有良好的兼容性
soapserial.dotNet = true;
6、调用HttpTransportSE对象的call()方法,其中call的第一个参数soapAction,第二个为SoapSerializationEvelope对象 调用远程Web Service;
// 调用HttpTransportSE对象的call方法来调用 webserice
httpSE.call(PACE + M_NAME, soapserial);
7、获取返回的信息,并解析
// 获取服务器响应返回的SOAP消息
SoapObject result = (SoapObject) soapserial.bodyIn;
SoapObject detail = (SoapObject) result.getProperty("getSupportProvinceResult");
//解析返回信息
for (int i = 0; i < detail.getPropertyCount(); i++) {
citys.add(detail.getProperty(i).toString());
}
相关文章推荐
- Android 视频截图方法
- 测量屏幕的宽高
- java/android 设计模式之单例模式
- Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)
- Android 通知栏Notification的整合
- Android布局优化之include
- Android——BroadcastReceiver
- Android 添加自定义BOOT_COMPLETED广播避免延迟
- Android 点击按钮同时更换按钮背景颜色和按钮文本颜色
- Android KeyCode列表
- Hello world!
- Android多媒体分析(二)MediaStore
- Android——Service装取数据
- (4.1.11.1)Android中使用RecyclerView和CardView实现瀑布流效果(StaggeredGrid)
- android BroadcastReceiver
- (4.6.10)Android中MVP模式与MVC模式比较(含示例)
- Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
- Android Scroll分析——滑动效果产生
- Android的AadapterView组件中的几个常用实现类
- Android 富有动感的底部弹出框