博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ios 调用webservice整理
阅读量:4980 次
发布时间:2019-06-12

本文共 1938 字,大约阅读时间需要 6 分钟。

资料地址:

      学iphone开发有一段时间了,对于我这个新手来说,学习过程中,遇到不少问题,尤其是webservice的调用一直困扰了很久,赶在光棍前夕之迹,谈谈个人在webservice方面遇到的问题以及解决方案~~跟大家分享一下,对于那些高手来说可以略过~~

也不知道这是人生中的第几个光棍节了,没有妹子,很纠结,没有遇到对的人,在爱情的等待中渐渐的发霉~~~~~~~~

在这里也祝单身的男银、女银们,在光棍节脱"光"~~~~废话不多说~~切入正题

一、简述

要调用webservice你想到的是什么?

(1)写一个调用webservice的类(可以自已写,也可以下载第三方的类库)

(2)对webservice返回的xml解析(ios自带的xml解析真的很烦)

       我在网上度娘了很网,都是看到有些人,要么只提供webservice的类,简单的说明一下,对于返回的数据xml,一字不提~~~用起他们写的类来,真的很冒烟啊~~~~,网上找到的一些答案,我觉得很奇怪,大牛们经常会写一句不明不白的话,要写就写清楚,否则干脆不要写~~~让人希望又失望~~我不觉得这样有多牛B。。。反而我更喜欢把复杂的事件简单化~~~

 我个人在调用webservice时遇到几个问题:

  a.webservice的命名空间问题?

      webservice默认的命名空间是:http://tempuri.org/

     我刚开始用得好好的,后来报soapAction不识别~~~~那天花了一上午才找出这个错,原来有人改动了webservice的默认命名空间~~~我去你大爷的,改了命名空间,也不通知我,害我瞎折腾~~

  b.xml如何解析问题?

      本来是想用ios自带的类去解析xml的,网上查了一下,看别人写了一大片,脑门一片大汗,满脸黑线~~~,后来我用的是google写的GDataXML这个类库,还不错~~~,不过对于那些xml有命名空间的如何读取,各种坛子去提问,至今还没有人正确解答我~~~难道天朝就没有人知道吗?我失望至极,后来还是有如神助般醍醐灌顶~~~自已解决了,阿门~~~~

  c.异步调用时发生400错误?

     这个问题搞得我,头脑出现乱码,神经也被打茄了,你们猜这是啥原因~~~~

    soap原本要传递的信息是这样:

      <a>XXX</a><b>XXXX</b>

    我把它传递参数颠倒过来了,变成这样:

     <b>XXX</b><a>XXX</a>

     发现问题后,我傻楞般的笑了~~~~

  二、类的简要说明

(1)webservice(一个是使用NSURLConnection写的类,还有一个是ASIHttpRequest写的webservice调用类)

  a.同步调用

  b.异步调用

  c.返回数据的处理

     soap调用返回的数据经常放在:<webservice方法名Result>XXX</webservice方法名Result>中,我在webservice调用中已经直接提取出来了~~~提取出来的内容还是一个xml,这段内容的处理,我单独写在xml解析类里面

(2)xml解析类

 1.读取<方法名Result>XXX</方法名Result>的内容

 2.遍历xml的所有内容返回数组

三、使用配置

  (1)使用NSURLConnection写的webservice调用类,类名叫:WebServices.h

     包含的文件如下:

ios 调用webservice整理 - wuchaorang.2008 - rang

     a.AppConfigure.h文件的配置:

ios 调用webservice整理 - wuchaorang.2008 - rang

  b.google GDataXml配置如下:

     step1.先添加libxml2.dylib类库,不要告诉我这个都不会,拉去面壁~~~

     step2.操作如下图所示

ios 调用webservice整理 - wuchaorang.2008 - rang

 

  (2)借助ASIHttpRequest写的webservice调用类,类名叫:ServiceHelper.h

    跟(1)的配置一样,这里就不再重复说明,ASIHttpRequest要多添加几个类库,如下图所示

ios 调用webservice整理 - wuchaorang.2008 - rang

 四、文件下载

  (1)NSURLConnection类写的webservice调用类的所有文件下载

      http://dl.vmall.com/c0cld6ey99 [注:请下载demo里面的最新版本,有调整]

  (2)ASIHttpRequest类写的webservice调用类的所有文件下载

     http://dl.vmall.com/c0gx4evjva  [注:请下载demo里面的最新版本,有调整]

 五、demo下载

   
ios 调用webservice整理 - wuchaorang.2008 - rang

 

demo下载地址:
http://dl.vmall.com/c016bva6aw
最后祝大家~~~~光棍快乐~~~~~努力脱光~~~~~~~~~~~~~~~~

 

转载于:https://www.cnblogs.com/wvqusrtg/p/4539959.html

你可能感兴趣的文章
【转载】DataGridView之将数据导出成Excel和Word格式
查看>>
安装kubernetes 环境
查看>>
JAVA--将图片转为BASE64编码并返回thymeleaf页面
查看>>
Odoo 9 Odoo $ JQuery undifned
查看>>
PHP Java .NET语言的区别(转)
查看>>
suse 下的gcc安装
查看>>
20145212 罗天晨 网络欺诈技术防范
查看>>
如何把java项目打包成war包
查看>>
github实践操作
查看>>
ES6的新特性(21)——Proxy
查看>>
将本地文件通过CRT传输到虚拟机上
查看>>
rocketmq事务消息入门介绍
查看>>
#define 宏定义
查看>>
邀请好友注册页面光标点到输入框后,输入框会先灰一下。只有ios存在
查看>>
免费参加Tech.Ed Australia 2010
查看>>
简单打开和保存txt文件
查看>>
关于淘宝技术了解
查看>>
linux 用户与用户组
查看>>
数据结构之排序查找算法
查看>>
运用PCA进行降维的好处
查看>>