下面,我拿天氣服務的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.使用方法,下面是天氣服務的呼叫例子
//引數列表5.**實現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) ];
}
ios 呼叫webservice整理
學iphone開發有一段時間了,對於我這個新手來說,學習過程中,遇到不少問題,尤其是webservice的呼叫一直困擾了很久,趕在光棍前夕之跡,談談個人在webservice方面遇到的問題以及解決方案 跟大家分享一下,對於那些高手來說可以略過 也不知道這是人生中的第幾個光棍節了,沒有妹子,很糾結,沒...
ios呼叫webservice整理
學iphone開發有一段時間了,對於我這個新手來說,學習過程中,遇到不少問題,尤其是webservice的呼叫一直困擾了很久,趕在光棍前夕之跡,談談個人在webservice方面遇到的問題以及解決方案 跟大家分享一下,對於那些高手來說可以略過 也不知道這是人生中的第幾個光棍節了,沒有妹子,很糾結,沒...
iOS 呼叫Webservice介面
1.寫請求體 寫請求體的時候要注意soap的版本,有的是1.1,有的是1.2 可以去檢視pc上的請求體資料參照部落格中的寫法修改 2.進行請求 將下面部落格中的 整理下複製貼上就好 3.請求完成,解析xml,轉為字典型別,呼叫下面的方法 nsdictionary dictionaryforxmlst...