首先下载jar包:ksoap2-android-assembly-2.4-jar-with-dependencies.jar
为了重复使用访问webservice的方法,把该方法写成一个工具类。
其中NetworkState.isConnected方法用于检查网络是否连接。
调用方法:String s = RequestWebService.request("webservice方法名",参数字符串数组);s即为webservice返回结果,我用的是json格式字符串,然后再利用阿里巴巴的fastjson库解析。
特别注意:本人是用jax-ws开发的webservice,传参数的时候,参数名必须为arg0,arg1,arg2...,否则会找不到参数。
public final class RequestWebService { @SuppressWarnings("finally") public static String request(String methodName,String[] args){ String s = ""; ConnectivityManager connectivityManager = NetworkState.init(MyApplication.getInstance().getApplicationContext()); Boolean isConnected = NetworkState.isConnected(connectivityManager); if(isConnected){ try { Properties prop = new Properties(); InputStream in = RequestWebService.class.getResourceAsStream("/setting.properties"); prop.load(in); String http = prop.getProperty("http").trim(); String ip = prop.getProperty("ip").trim(); String port = prop.getProperty("port").trim(); String webservice = prop.getProperty("webservice").trim(); //Toast.makeText(MainActivity.this, ip, Toast.LENGTH_SHORT).show(); String serviceUrl = http+"://"+ip+":"+port+"/"+webservice+"/AlarmPort"; String namespace = http+"://server/"; //String methodName = "login"; // 第1步:创建SoapObject对象,并指定WebService的命名空间和调用的方法名 SoapObject request = new SoapObject(namespace, methodName); // 第2步:设置WebService方法的参数 for(int i=0;i<args.length;i++){ request.addProperty("arg"+i, args[i]); } // 第3步:创建SoapSerializationEnvelope对象,并指定WebService的版本 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); // 设置bodyOut属性 envelope.dotNet = false; envelope.setOutputSoapObject(request); // 第4步:创建HttpTransportSE对象,并指定WSDL文档的URL HttpTransportSE ht = new HttpTransportSE(serviceUrl); // 第5步:调用WebService ht.call(namespace+methodName, envelope); SoapObject result = (SoapObject)envelope.bodyIn; s = (String)result.getProperty(0).toString(); }catch (Exception e){ e.printStackTrace(); s = "{success:false,error:'【"+e.getMessage()+"】'}"; } finally{ return s; } }else{ return "{success:false,error:'网络未连接,请检查网络!'}"; } } }
相关推荐
ksoap2-android-assembly-3.6.2-jar-with-dependencies是一个专门为Android平台设计的轻量级库,它简化了SOAP(Simple Object Access Protocol)协议的使用,使得开发者能够方便地在Android应用中调用Web服务。...
ksoap2-android是专门为此目的设计的一个轻量级库,它允许开发者在Android平台上使用SOAP(Simple Object Access Protocol)协议与Web服务进行通信。本文将深入探讨ksoap2-android的两个版本——ksoap2-android-...
ksoap2-android-assembly-2.6.5-jar-with-dependencies.jar 要是需要最新的,下载地址: http://code.google.com/p/ksoap2-android/
ksoap2-android-assembly-2.4-jar-with-dependencies
ksoap2-android-assembly-2.5.4-jar-with-dependencies - withTimeOut.jar 自己下载的2.5.4版本有webservice的timeout设置,可是没有效果, 经反编译发现只是设置了timeout的空方法。 故根据网上的方法将方法完善。 ...
《ksoap2-android-assembly-2.5.4-jar-with-dependencies.jar:Android平台上的SOAP通信库详解》 在Android应用开发中,有时我们需要与远程服务器进行数据交互,这时,SOAP(Simple Object Access Protocol)协议是...
总的来说,ksoap2-android-assembly-2.6.0-jar-with-dependencies.jar是Android开发者不可或缺的工具,它简化了与Web服务的交互,使得在Android应用中实现远程数据访问变得更加便捷。在实际开发中,开发者应根据项目...
如果你只是用来连接webservice的话就直接用可以了,代码混淆里也不需要多余的操作。 如果你用到了XmlPullParserFactory这样的。那加入下边的 -dontwarn org.kxml2.** -keep class org.kxml2.** { *;} -dontwarn org....
在Android平台调用Web Service需要依赖于第三方类库ksoap2,它是一个SOAP Web service客户端开发包。此jar包用于android和webservice进行通信,目前版本3.6.2
ksoap2 3.6 android webservice
KSOAP2是一个轻量级的开源库,专门用于在Android平台上与基于SOAP(简单对象访问协议)的Web服务进行通信。SOAP是一种基于XML的数据交换协议,常用于构建分布式系统,使得不同平台上的应用程序可以相互交换结构化...
最新版本的ksoap2 ksoap2-android-assembly-3.4.0-jar-with-dependencies
《ksoap2-android-assembly-2.5.8-jar-with-dependencies.jar在Android图片压缩中的应用》 在移动开发领域,尤其是Android平台,图片处理是不可或缺的一部分。尤其是在网络传输和存储时,如何有效地压缩图片以减少...
kSOAP2是一个轻量级的开源库,专为在Android平台上进行SOAP(Simple Object Access Protocol)Web服务调用而设计。标题"**ksoap2-android-assembly-2.4-jar**"指的是这个库的一个特定版本,即2.4版,以JAR(Java ...
ksoap2-android-assembly-3.2.0-jar-with-dependencies wcf所用包
最新版ksoap2,官网下载
ksoap2-android-assembly-2.6.2-jar-with-dependencies.jar android中调用webservice所需要的jar包
android调用WebService,所使用第三方jar包