android访问webService
2016-03-08 09:11
399 查看
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、获取返回值。
在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;
相关文章推荐
- android布局属性具体解释
- Android自定义属性中format类型。
- android, SurfaceView退出到上一个activity
- Android开发实践:JNI层线程回调Java函数示例
- android: 通过内容提供器读取系统联系人
- android使用c通过jni回调java
- Android PopupWindow响应外部控件点击事件
- Android中Action Bar的使用
- android 6.0 api23 系统变化[转]
- android: 内容提供器简介
- (android实战)Service 生命周期和使用注意项
- Android - TabHost 与 Fragment 制作页面切换效果
- Android Studio 的使用[转]
- Android SDK目录介绍
- 部分JAVA设计模式在Android中的体现。
- Android basic1
- Android basic1
- Android basic1
- Android basic1
- 【Android】19.3 ContentProvider及安卓进一步封装后的相关类