一:原理
WebService是一种基于SOAP协议的远程调用标准,通过webservice可以将不同操作系统平台、不同语言、不同技术整合到一块。在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService。
常用的就是Ksoap2了。
二:实现方法
(1) 指定webservice的命名空间和调用的方法名
SoapObject request =new SoapObject(http://service,”getName”);
(2) 设置调用方法的参数值,如果没有参数,可以省略,设置方法的参数值的代码
参数的顺序一致
Request.addProperty(“param1”,”value”);
Request.addProperty(“param2”,”value”);
(3) 生成调用Webservice方法的SOAP请求信息。该信息由SoapSerializationEnvelope对象描述,
SoapSerializationEnvelope envelope=new
SoapSerializationEnvelope(SoapEnvelope.VER11);
Envelope.bodyOut = request;
(4)创建HttpTransportsSE对象。通过HttpTransportsSE类的构造方法可以指定WebService的WSDL文档的URL:
HttpTransportSE ht=new HttpTransportSE(“http://192.168.18.17:80
/axis2/service/SearchNewsService?wsdl”);
(5)使用call方法调用WebService方法
ht.call(null,envelope);
(6)使用getResponse方法获得WebService方法的返回结果,
SoapObject soapObject =( SoapObject) envelope.getResponse();