基于SOAP与服务器进行数据交互
2013-05-23 21:14
225 查看
近日,在做一个android项目的时候,有用到和.net服务器进行数据交互的功能,但是自己不太会做,所以就问了一些同事,然后参见了些网上的基于SOAP与数据库进行数据交互的例子,然后就写出了下面的代码:
当然在编写这些代码之前需要引入一个jar文件:ksoap的jar包。
public static int getTaskCount(int orgId, int state) { String str = null; int taskCount = 0; // 实例化SoapObject对象,Common.SERVICE_NAMESPACE = "http://tempuri.org/" :命名空间 // Common.TASK_COUNT_METHOD_NAME是方法名 SoapObject request = new SoapObject(Common.SERVICE_NAMESPACE, Common.TASK_COUNT_METHOD_NAME); // 传入SoapObject对象中的参数,如果没有参数的话也可以不要 request.addProperty("orgid", orgId); request.addProperty("state", state); // 设置SOAP请求信息,把构造好的soapObject封装进去,设置好属性后,再发出请求 // (参数部分为SOAP协议版本号,与webservice版本号一致) /* * 常量SoapEnvelope.VER10:对应于SOAP1.0规范 常量SoapEnvelope.VER11:对应于SOAP1.1规范 * 常量SoapEnvelope.VER12:对应于SOAP1.2规范 */ SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); envelope.bodyOut = request; envelope.dotNet = true; envelope.setOutputSoapObject(request); /* * 在kSOAP中,我们用Base64把二进制流编码为ASCII字符串, 这样就可以通过XML/SOAP传输二进制数据了。 * org.ksoap2.serialization.MarshalBase64的目的就是, 把SOAP * XML中的xsd:based64Binary元素序列化为Java字节数组(byete array)类型。 * 类似的,kSOAP2还提供了MarshalDate、MarshalHashtable类 * 来把相应的元素序列化为Java的Date、Hashtable类型。 (该步可省 据需要决定) (new * MarshalBase64()).register(envelope); */ // 注册envelope (new MarshalBase64()).register(envelope); // 构建传输对象,开启调试信息 //Common.SERVICE_URL = "http://222.188.91.150:8010/APP_WebServices/FMOA_WebService.asmx?wsdl" AndroidHttpTransport transport = new AndroidHttpTransport( Common.SERVICE_URL); transport.debug = true; try { // 调用WebService(其中参数为1:命名空间+方法名称,2:Envelope对象) transport.call(Common.SERVICE_NAMESPACE + Common.TASK_COUNT_METHOD_NAME, envelope); // 取得返回数据 if (envelope.getResponse() != null) { str = ((SoapObject) envelope.bodyIn).getProperty(0).toString(); } if (str != null && !"".equals(str)) { taskCount = Integer.parseInt(str); } } catch (Exception e) { e.printStackTrace(); } return taskCount; }
当然在编写这些代码之前需要引入一个jar文件:ksoap的jar包。
相关文章推荐
- 与基于udp协议的tracker服务器进行交互
- ESP-TCP (2/34) --- ESP-IDF 下基于 JSON 格式进行 TCP 数据交互
- 【2016美团】浏览器和服务器在基于https进行请求链接到数据传输过程中,用到了如下哪些技术
- 基于Soap协议的android客户端和服务器的数据交互(学习天气预报例子的心得)
- android客户端与服务器交互数据(基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合)
- 基于Soap协议的android客户端和服务器的数据交互
- Ionic从零单排(三)——Ionic程序(前台)与服务器(后台)进行数据交互
- 程序使用 HTTP 协议和服务器交互主要是进行数据的提交,通常数据的提交是通过 GET 和 POST 两种方式来完成
- 安卓实训第四天--基于HttpClient来完成数据在服务器和设备间的交互。
- 基于Bmob平台进行从服务器获取图片数据(url)的操作,并以瀑布流得形式显示图片
- java用post方法获取json数据,与服务器进行交互
- 在android中使用SOAP与webservice进行数据交互
- Android开发:客户端与服务器通过传递和接收json数据进行交互
- android使用JSON数据和服务器进行交互
- Solr II——通过SolrJ与Solr服务器进行数据交互
- Android基于SOAP标准调用Webservice实现数据交互
- 用Ajax以GET或POST的方式来和服务器进行数据交互
- 与基于udp协议的tracker服务器进行交互
- 在android中使用SOAP与webservice进行数据交互
- 在android中使用SOAP与webservice进行数据交互