ios 調用webservice整理

來源:互聯網
上載者:User

標籤:

資料地址:http://blog.sina.com.cn/s/blog_a30ee5f701016yn3.html

      學iphone開發有一段時間了,對於我這個新手來說,學習過程中,遇到不少問題,尤其是webservice的調用一直困擾了很久,趕在光棍前夕之跡,談談個人在webservice方面遇到的問題以及解決方案~~跟大家分享一下,對於那些高手來說可以略過~~

也不知道這是人生中的第幾個光棍節了,沒有妹子,很糾結,沒有遇到對的人,在愛情的等待中漸漸的發黴~~~~~~~~

在這裡也祝單身的男銀、女銀們,在光棍節脫"光"~~~~廢話不多說~~切入正題

一、簡述

要調用webservice你想到的是什嗎?

(1)寫一個調用webservice的類(可以自已寫,也可以下載第三方的類庫)

(2)對webservice返回的xml解析(ios內建的xml解析真的很煩)

       我在網上度娘了很網,都是看到有些人,要麼只提供webservice的類,簡單的說明一下,對於返回的資料xml,一字不提~~~用起他們寫的類來,真的很冒煙啊~~~~,網上找到的一些答案,我覺得很奇怪,大牛們經常會寫一句不明不白的話,要寫就寫清楚,否則乾脆不要寫~~~讓人希望又失望~~我不覺得這樣有多牛B。。。反而我更喜歡把複雜的事件簡單化~~~

 我個人在調用webservice時遇到幾個問題:

  a.webservice的命名空間問題?

      webservice預設的命名空間是:http://tempuri.org/

     我剛開始用得好好的,後來報soapAction不識別http://tempuri.org/~~~~那天花了一上午才找出這個錯,原來有人改動了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

     包含的檔案如下:

     a.AppConfigure.h檔案的配置:

  b.google GDataXml配置如下:

     step1.先添加libxml2.dylib類庫,不要告訴我這個都不會,拉去面壁~~~

     step2.操作如所示

 

  (2)藉助ASIHttpRequest寫的webservice調用類,類名叫:ServiceHelper.h

    跟(1)的配置一樣,這裡就不再重複說明,ASIHttpRequest要多添加幾個類庫,如所示

 四、檔案下載

  (1)NSURLConnection類寫的webservice調用類的所有檔案下載

      http://dl.vmall.com/c0cld6ey99 [註:請下載demo裡面的最新版本,有調整]

  (2)ASIHttpRequest類寫的webservice調用類的所有檔案下載

     http://dl.vmall.com/c0gx4evjva  [註:請下載demo裡面的最新版本,有調整]

 五、demo下載

   

 

demo:http://dl.vmall.com/c016bva6aw最後祝大家~~~~光棍快樂~~~~~努力脫光~~~~~~~~~~~~~~~~

 

ios 調用webservice整理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.