[Java教程]ksoap2
0 2020-06-19 18:04:38 Android连接远程数据库,目前看来最好的解决办法就是webservice,利用webservice进行通讯就要soap协议,目前android没有内建相关的函数,需要借助第三方ksoap2-android进行操作。
soap2-android
官网地址
https://simpligility.github.io/ksoap2-android/index.html
发行版本
https://oss.sonatype.org/content/repositories/ksoap2-android-releases/切记所需要的文件是在
com>google>code>ksoap2-android>ksoap2-android-assembly选择最新版本,然后使用-with-dependencies.jar包
最新版本
https://oss.sonatype.org/content/repositories/ksoap2-android-releases/com/google/code/ksoap2-android/ksoap2-android-assembly/3.6.4/ksoap2-android-assembly-3.6.4-jar-with-dependencies.jar
调用WebService取得数据
初使化soapprivate final String serviceNameSapce = " final String serviceUrl = " final String serviceMethod = "HelloWorld";private final String serviceAction = " String strResult = "";
调用new Thread(new Runnable() { @Override public void run() { //创建HttpTransportSE传输对象,serviceUrl是webservice提供服务的url HttpTransportSE httpTransportSE = new HttpTransportSE(serviceUrl); //使用SOAP1.1协议创建Envelop对象,根据服务端WebService的版本号设置SOAP协议的版本号 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); //实例化SoapObject对象,第一个参数表示命名空间,第二个参数表示要调用的WebService方法名 SoapObject soapObject= new SoapObject(serviceNameSapce, serviceMethod); //设置调用方法的参数值,如果没有参数,可以省略 //soapObject.addProperty("theCityCode", cityName); envelope.bodyOut = soapObject; envelope.dotNet = true; try { //调用webservice httpTransportSE.call(serviceAction, envelope); //获取服务器响应返回的SOAP消息 if(envelope.getResponse() != null){ SoapObject resultSoap = (SoapObject)envelope.bodyIn; strResult = resultSoap.getProperty(0).toString(); mHandler.sendEmptyMessage(0x002); } } catch (IOException | 本文网址:http://www.shaoqun.com/a/459090.html
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。
0