关于webservice之Ksoap2的简单使用

/**
         *  根据省份获取城市列表
         * @param province
         * @return
         */
        public static List<String> getCityListsByProvince(String province) {
            // 调用的方法
            String methodName = "getSupportCityString";
            // 创建HttpTransportSE传输对象(信使)传入服务器地址
            HttpTransportSE ht = Ksoap2Helper.getHttpTransportSE(Ksoap2Configs.SERVICE_URL);
            //创建soapObject对象并传入命名空间和方法名--用来配置信封
            SoapObject request = new SoapObject(Ksoap2Configs.SERVICE_NAMESPACE, methodName);
            // 添加一个请求参数
            request.addProperty("theRegionCode", province);
            //初始化SoapSerializationEnvelope(信封)
            SoapSerializationEnvelope envelope = Ksoap2Helper.getSoapSerializationEnvelope(request);
            // 调用webservice
            try {
                ht.call(Ksoap2Configs.SERVICE_NAMESPACE + methodName, envelope);
                if (envelope.getResponse() != null) {
                    // 获取服务器响应返回的SOAP消息
                    SoapObject result = (SoapObject) envelope.bodyIn;
                    SoapObject detail = (SoapObject) result.getProperty(methodName
                            + "Result");
                    // 解析服务器响应的SOAP消息
                    return parseProvinceOrCity(detail);
                }
            } catch (SoapFault e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (XmlPullParserException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }



源码:http://pan.baidu.com/s/1hqhhd44


你可能感兴趣的:(关于webservice之Ksoap2的简单使用)