凡人-山东

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在android中使用webservice,首先要导入Android webservice支持包

ksoap2-android-assembly-3.3.0-jar-with-dependencies.jar

然后,

       HttpTransportSE tSe = new HttpTransportSE(SERVER_URL, TIME_OUT);
            tSe.debug = false;     //是否启动debug模式
            SoapObject soapObject = new SoapObject(NAME_SPACE, method);
            //设置参数
            JSONObject params = new JSONObject(param);
            //设置参数, 参数名为 mJsonString的字符串
            soapObject.addProperty("mJsonString", params.toString());
            SoapSerializationEnvelope soapserial = new SoapSerializationEnvelope(SoapEnvelope.VER11);  
            soapserial.bodyOut = soapObject;  
            // 设置与.NET提供的Web service保持有良好的兼容性  
            soapserial.dotNet = true; 
            // 调用HttpTransportSE对象的call方法来调用 webserice  
            tSe.call(NAME_SPACE + method, soapserial);
            SoapObject result = (SoapObject) soapserial.bodyIn;  
            int count = result.getPropertyCount();
            return result.getProperty(count-1).toString();

此处的 soapObject.addProperty("mJsonString", params.toString()); 方法为设置方法的参数, 如果有多个参数,就多调用几次这个就好了。

暂时没有解决数组类型的参数传递。 建议尽量在服务端使用数组作为参数传递。

return之后的结果,服务器端返回的数据,我的服务器端返回的统一为json字符串。

 

posted on 2016-01-07 14:17  凡人-山东  阅读(230)  评论(0编辑  收藏  举报