android 客户端数据传递之一:Web Service 代码
来源:互联网 发布:卡夫亨氏的管培生 知乎 编辑:程序博客网 时间:2024/06/03 15:30
http://sizeed.blog.163.com/blog/static/965254512011102143952442/
使用ksoap2调用Web Service步骤如下:
1、创建HttpTransportSE对象(传送带),该对象用于调用Web Service。
2、创建SoapSerializationEnvelope对象(装SOAP信息的信封)。
3、创建SoapObject对象,创建该对象时需要传入所需要调用的WebService的命名空间。
4、如果有参数需要传递给Web Service服务器,调用SoapObject对象的addProperty(String key, Object value)方法。
5、调用前面创建的SoapSerializationEnvelope对象的setOutputSoapObject()方法,或者直接对bodyOut属性赋值,将前面创建的SoapObject对象设为SoapSerializationEnvelope的传出的SOPA。
6、调用HttpTransportSE对象的call()方法,并以SopaSerializationEnvlope作为参数调用远程Web Service。
7、调用完成后,访问SoapSerializationEnvelope对象的bodyIn,该属性会返回一个SopaObjec对象,该对象代表了一个Web Service服务端返回的数据,解析该SoapObject就可以得到你想要的数据了。
可以这样理解:
首先创建的HttpTransportSE(以下简写trans)对象可以看做它为一个传送带,SoapSerializationEnvelope对象(以下简写envelope)为一个邮递员,SoapObject(以下简写so)为一个包裹:
so.addProperty(WordKey,word):将“询问”的信息装入包裹。
envlope.bodyOut = so:邮递员拿上Out包裹,待送。
ht.call(..., envlope)方法:邮递员拿着包裹,跳上传送带去访问服务器并交换数据。
SoapObject so = (SoapObject)envlope.bodyIn:从邮递员身上拿出和服务器交换后的包裹。此包裹与上面的so不是同一个对象
so.getProperty(...):从包裹中取出“回答”信息。
以上就是使用ksoap2-android调用Web Service的方式。
代码:
SoapObject rpc = new SoapObject(NAME_SPACE, METHOD_NAME);//设置需调用WebService接口
//设置参数
rpc.addProperty("a", 109);
rpc.addProperty("b", 3);
// 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = rpc;
//设置是否调用的是dotNet开发的WebService
//envelope.dotNet = true;//等价于envelope.bodyOut = rpc;
envelope.setOutputSoapObject(rpc);
HttpTransportSE transport = new HttpTransportSE(URL);
try {
//调用WebService
transport.call(SOAP_ACTION, envelope);
} catch (Exception e) {
e.printStackTrace();
}
//获取返回的数据
SoapObject object = (SoapObject) envelope.bodyIn;
//获取返回的结果
String result = object.getProperty("return")+"";
return result;
- android 客户端数据传递之一:Web Service 代码
- 生成 android web service 客户端代码
- 基于Web Service的客户端框架搭建一:C#使用Http Post方式传递Json数据字符串调用Web Service
- 基于Web Service的客户端框架搭建一:C#使用Http Post方式传递Json数据字符串调用Web Service
- 利用 Myeclipse 生成 Web Service 客户端代码
- 可靠的web service客户端代码生成
- android 客户端数据传递之二:基于Http协议获取数据 代码
- android下的web service客户端开发
- Android Service绑定、生命周期、传递对象数据
- android 怎样用AIDL Service 传递复杂数据
- Android -- 启动Service并传递数据
- Android activity与service传递数据
- Android代码练习:数据传递
- Android Service ---传递复杂数据的AIDL Service 笔记
- 使用java构建客户端访问秀代码Rest Web Service
- java Web Service axis (实例四) 客户端代码生成工具
- 【web service 】 wsimport 生成客户端代码调用webservice 服务
- Web Service--java代码实现客户端编写---[小结]
- UML统一建模语言
- 理解WebKit和Chromium: Chromium多进程模型
- 在HTML中用Javascript和接收参数和JSP接受参数
- WinForm UI Validation
- Hash表查找
- android 客户端数据传递之一:Web Service 代码
- android 客户端数据传递之二:基于Http协议获取数据 代码
- Java程序员面试中的多线程问题
- spring使用注解@PostConstruct的xml配置
- 星级评分的简化实现
- 现代汉语语料库加工规范
- 如果构造器可以被继承····
- 博弈的三个巨人 巴什博奕 威佐夫博奕 尼姆博奕
- 练习题整理