WebService---Android中访问WebService接口的方法
2016-05-17 16:03
507 查看
最近公司有个项目需要从Android平台访问WebService接口,实现向发布的函数传递对象。在网上找了一些资料,发现使用ksoap2可以调用WebService传递对象。
需要引入ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar
复制代码代码如下:
//WebService的命名空间
static final String namespace = "http://impl.service.suncreate.com";
//服务器发布的url
static final String url = http://10.100.3.41/axis2/services/UploadService; final String methodName = "upload"; // 函数名
final int sessionID = "111111"; //sessionID
//创建HttpTransportSE对象,通过HttpTransportSE类的构造方法可以指定WebService的url
HttpTransportSE transport = new HttpTransportSE(url);
transport.debug = true;
//指定WebService的命名空间和函数名
SoapObject soapObject = new SoapObject(namespace, methodName);
//设置调用方法参数的值
soapObject.addProperty("sessionID", sessionID); //sessionID
soapObject.addProperty("data", cds); //cds是需要传递的对象
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);
envelope.bodyOut = transport;
envelope.setOutputSoapObject(soapObject);
//使用call方法调用WebService方法
transport.call(null, envelope);
SoapObject sb = (SoapObject) envelope.bodyIn;
String xmlMessage = sb.toString(); // 获取从服务器端返回的XML字符串
需要引入ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar
复制代码代码如下:
//WebService的命名空间
static final String namespace = "http://impl.service.suncreate.com";
//服务器发布的url
static final String url = http://10.100.3.41/axis2/services/UploadService; final String methodName = "upload"; // 函数名
final int sessionID = "111111"; //sessionID
//创建HttpTransportSE对象,通过HttpTransportSE类的构造方法可以指定WebService的url
HttpTransportSE transport = new HttpTransportSE(url);
transport.debug = true;
//指定WebService的命名空间和函数名
SoapObject soapObject = new SoapObject(namespace, methodName);
//设置调用方法参数的值
soapObject.addProperty("sessionID", sessionID); //sessionID
soapObject.addProperty("data", cds); //cds是需要传递的对象
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);
envelope.bodyOut = transport;
envelope.setOutputSoapObject(soapObject);
//使用call方法调用WebService方法
transport.call(null, envelope);
SoapObject sb = (SoapObject) envelope.bodyIn;
String xmlMessage = sb.toString(); // 获取从服务器端返回的XML字符串
相关文章推荐
- Android数据存储——SharedPreferences及SDCard
- Android frameworks添加资源后编译报错:找不到添加的内部资源 com.android.internal.R
- 小白第一次接触android开发(一)
- 【Android】19、活动的启动模式——standard
- Jenkins+Gradle实现android开发持续集成、打包
- android Spinner 禁止OnItemSelectedListener默认自动调用一次
- IOS\Android 支付宝集成文档
- 快速简化Android截屏工作
- Android PagerAdapter的简单用法
- android获取设备屏幕大小的方法
- Android 导入v7包常见错误,以及项目引用v7包错误解决,androidv7
- Android发送邮件到邮箱
- Android线程池详解
- android 状态栏的显示隐藏 处理
- Android为动态枚举设备ttyUSB0提权
- Android理解Fragment生命周期,fragment和fragmentactivity解析
- android图片等比例缩放 填充屏幕
- Android实现拍照、选择图片并裁剪图片功能
- android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file (code 14)
- Android Notification 样式!