iOS呼叫WebService(SOAP介面)

2021-07-16 05:29:52 字數 2859 閱讀 4651

首先有幾點說在前面

使用常見的afnetworking 進行請求,請求分為兩個部分,url和parameter,url就是後台給你的介面,這個parameter需要填寫入乙個完整的帶有引數的soap字串。

soap字串格式如下:

1.命名空間在根目錄上

<?xml version="1.0" encoding="utf-8"?>

xmlns:xsi=""

xmlns:xsd=""

xmlns:soap=""

xmlns:字首名(如:nsl)="webservice命名空間">

//字首名一般是nsl,webservice命名空間找後台要

//此處填寫頭內容

//有請求頭就加上,沒上就可去悼soap:header標籤

soap:header>

《字首名:方法名》

《引數名1>引數值1引數名1>

《引數名2>引數值2引數名2>

.......

字首名:方法名》

soap:body>

soap:envelope>

下面給乙個根據引數userid請求資料的例子
nsstring * soapbodystr = [nsstring stringwithformat:@"\

%@userid>\

nsl:querychecklist>",userid];

nsstring *soapstr = [nsstring stringwithformat:

@"<?xml version=\"1.0\" encoding=\"utf-8\"?>\

xmlns:xsi=\"\" xmlns:xsd=\"\"\

xmlns:soap=\"\"\

//自己填寫的字首名和命名空間

xmlns:nsl=\"">\

\//使用已拼接好的字串soapbodystr再次拼接進來

%@soap:body>\

soap:envelope>",soapbodystr];

這樣作為引數的soap字串就拼接好了。

2.還有一種情況是命名空間在方法名上則soap字串格式如下:

<?xml version="1.0" encoding="utf-8"?>

xmlns:xsi=""

xmlns:xsd=""

xmlns:soap="">

//有頭內容就寫,沒有就不寫soap:header標籤

soap:header>

《方法名

xmlns="webservice命名空間">

《引數1>引數值1引數1>

《引數2>引數值2引數2>

方法名》

soap:body>

soap:envelope>

同樣使用上面的例子,則soap字串如下:

nsstring * soapbodystr = [nsstring stringwithformat:

@"xmlns="">\

%@userid>\

querychecklist>",userid];

nsstring *soapstr = [nsstring stringwithformat:

@"<?xml version=\"1.0\" encoding=\"utf-8\"?>\

xmlns:xsi=\"\" xmlns:xsd=\"\"\

xmlns:soap=\"\"\

\//使用已拼接好的字串soapbodystr再次拼接進來

%@soap:body>\

soap:envelope>",soapbodystr];

soap字串已經完整拼接完成,下面進行該請求資料了

// 設定請求超時時間

manager.requestserializer

.timeoutinterval = 60;

// 返回nsdata

// 設定請求頭,也可以不設定

// 設定httpbody

[manager.requestserializer setquerystringserializationwithblock:^nsstring *(nsurlrequest *request, nsdictionary *parameters, nserror *__autoreleasing *error)

];[manager post:url1 parameters:soapstr success:^(nsurlsessiondatatask * _nonnull task, id _nonnull responseobject) failure:^(nsurlsessiondatatask * _nullable task, nserror * _nonnull error)

}];乙個完整的呼叫webservice的請求就完成了。

ios 呼叫webservice整理

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

ios呼叫webservice整理

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

iOS 呼叫Webservice介面

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