KSoap2-android的调用以及封装使用
来源:互联网 发布:linux下的tmp目录 编辑:程序博客网 时间:2024/05/16 12:31
序
最近做毕业设计的时候用到了.net平台提供的WebService,其实在这之前做的一个小项目里面也是使用到了.net开发的WebService接口,在Android端调用WebService接口,google提供了一个Ksoap2-android的包来使用,这个包还是很好用的,但是要是直接在项目中使用还要封装一下,那时候和别人协同开发,用的别人封装的库进行调用的,说实话那个封装的感觉一般,所以这时我就想着自己来封装一下这个库,根据之前读的OkHttp源码,参考它的思想,封装了这个库,自我感觉在项目中使用还是很方便的,如果你有这方面的需求,可以试试使用我封装的库,要是有啥意见的可以提出来,一起改进这个库,下面先介绍Ksoap的简单用法,再说他的封装库。
KSoap2-android的简单用法
依赖Ksoap2-android包点击下载
使用
SoapObject rpc = new SoapObject("命名空间", "方法名"); //设置参数 rpc.addProperty("key", "value"); //设置Soap消息 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.bodyOut = rpc; // 设置是否调用的是dotNet开发的WebService envelope.dotNet = true; HttpTransportSE transport = new HttpTransportSE("EndPoint地址"); transport.debug = true; transport.call("Soap的Action", envelope);
我自己也封装了一个关于这个的库,主要是对功能进行了封装,以及加入了线程池,使得一步请求使用线程池,是调用上还是类似OkHttp的做法,还是很方便的,具体用法下面有介绍,封装库的jar包可以在这下载传送门,同样这个代码我也上传到了github上,欢迎star,github地址
关于这个封装库的介绍和用法如下,在github上有他的源码和怎样使用的例子。
SoapProject
-对于KSoap2-android的封装
这是对于ksoap2-android的二次封装库
soap-util是这个项目的源码,soap-example是这个项目的使用实例
导入
1)首先是引用ksoap2-android的jar包,这个在soap-example下的libs下有,你可以下载下来使用
2)将soap-util依赖上,你可以使用项目依赖,同时你将项目打出jar包使用,相应的jar包在soap-example下的libs下存在
使用
1)
//没有特殊情况尽量保持一个SoapClient private SoapClient mSoapClient = new SoapClient(); //设置是否是调试模式 mSoapClient.setDebug(true);
- 异步调用
/*如果调用的是.net平台的WebService,请务必在构造SoapRequest的时候设置setDotNet(true)*/public void getSupportCity(String cityName, Callback callback) { SoapRequest request = new SoapRequest.Builder().endPoint("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx") .methodName("getSupportCity") .soapAction("http://WebXml.com.cn/" + "getSupportCity") .addParam("byProvinceName", cityName) .nameSpace("http://WebXml.com.cn/") .setVersion(SoapEnvelope.VER11) .setDotNet(true) .build(); mSoapClient.newCall(request).enqueue(callback); }
- 同步调用
/*如果调用的是.net平台的WebService,请务必在构造SoapRequest的时候设置setDotNet(true)*/public SoapEnvelope getSupportCity(String cityName) { SoapRequest request = new SoapRequest.Builder().endPoint("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx") .methodName("getSupportCity") .soapAction("http://WebXml.com.cn/" + "getSupportCity") .addParam("byProvinceName", cityName) .nameSpace("http://WebXml.com.cn/") .setVersion(SoapEnvelope.VER11) .setDotNet(true) .build(); return mSoapClient.newCall(request).execute(); }
各个包的下载地址:
* 依赖Ksoap2-android包点击下载
* 封装库的jar包传送门
* SoapProjectgithub地址
- KSoap2-android的调用以及封装使用
- 一个ksoap2-android调用webService的封装库
- Android使用ksoap2 调用 WebService
- Android使用ksoap2调用webservice
- Android使用ksoap2-android调用WebService学习
- Android使用ksoap2-android调用WebService学习
- Android使用ksoap2-android调用WebService学习
- Android使用ksoap2-android调用WebService学习
- Android使用ksoap2-android调用WebService学习
- 4.Android使用ksoap2-android调用WebService
- Android模拟器使用KSOAP2调用WebService
- Android使用ksoap2调用C#webservice
- 在Android 中使用KSOAP2调用WebService
- 在Android 中使用KSOAP2调用WebService
- 在Android 中使用KSOAP2调用WebService
- 在Android 中使用KSOAP2调用WebService
- 在Android 中使用KSOAP2调用WebService
- 在Android 中使用KSOAP2调用WebService
- 如何做好网站的日常优化推广
- angluar的下拉刷新
- synchronized同步方法与同步语句块区别
- 八进制转十进制(字符串)
- PaperWeekly 第34期 | VAE在chatbot中的应用
- KSoap2-android的调用以及封装使用
- 1066. Root of AVL Tree (25)
- ArrayList与LinkedList的区别
- nginx强制使用https访问(http跳转到https)
- 杭电1016 素数环 java代码实现
- Glide使用总结
- Facebook开源Caffe2深度学习框架:开发者可快速训练和迭代AI模型
- WebStorm license server
- SpringMVC与Struts2区别与比较总结