IOS 呼叫WebService(同步和非同步)

2021-07-06 05:01:11 字數 1541 閱讀 4990

下面,我拿天氣服務的wsdl作為例子吧。

wsdl包含以下節點

definitions 根節點

根節點下面有以下節點:

types 資料型別定義。方法的引數名都包含在裡面。

message 訊息資料結構。

porttype 描述服務和服務的方法。

binding 描述web service的通訊協議。

service 描述web service 的訪問點的集合。

下面對來一步一步解析如何根據wsdl 生成soap 訊息體。

1.新增乙個類擴充套件,如下圖ddxmlelement+wsdl.h和ddxmlelement+wsdl.m

標頭檔案中,暴露以下方法

2.soaputility 檔案是用來封裝soap訊息的。soaputility呼叫ddxmlelement+wsdl

在soaputility標頭檔案中,暴露以下方法

3.服務呼叫,上面,都把soap訊息給準備好了。那麼最後一步就是服務的呼叫了。這裡分兩種呼叫方式:同步和非同步。

4.使用方法,下面是天氣服務的呼叫例子

//引數列表

nsdictionary *dic=@;

//方法名

nsstring

*methodname=@"getweatherbycityname";

//封裝soap信封

soaputility *soaputility=[[soaputility

alloc] initfromfile:@"weatherwebservice"];

nsstring *postdata=[soaputility buildsoapwithmethodname:@"getweatherbycityname"

withparas:dic];

//初始化服務

soapservice *soaprequest=[[soapservice

alloc] init];

soaprequest.

posturl

=@"";

soaprequest.soapaction=[soaputility getsoapactionbymethodname:methodnamesoaptype:soap];

if (issync)

else ****re:^(nserror *response) ];

}

5.**實現

ios 呼叫webservice整理

學iphone開發有一段時間了,對於我這個新手來說,學習過程中,遇到不少問題,尤其是webservice的呼叫一直困擾了很久,趕在光棍前夕之跡,談談個人在webservice方面遇到的問題以及解決方案 跟大家分享一下,對於那些高手來說可以略過 也不知道這是人生中的第幾個光棍節了,沒有妹子,很糾結,沒...

ios呼叫webservice整理

學iphone開發有一段時間了,對於我這個新手來說,學習過程中,遇到不少問題,尤其是webservice的呼叫一直困擾了很久,趕在光棍前夕之跡,談談個人在webservice方面遇到的問題以及解決方案 跟大家分享一下,對於那些高手來說可以略過 也不知道這是人生中的第幾個光棍節了,沒有妹子,很糾結,沒...

iOS 呼叫Webservice介面

1.寫請求體 寫請求體的時候要注意soap的版本,有的是1.1,有的是1.2 可以去檢視pc上的請求體資料參照部落格中的寫法修改 2.進行請求 將下面部落格中的 整理下複製貼上就好 3.請求完成,解析xml,轉為字典型別,呼叫下面的方法 nsdictionary dictionaryforxmlst...