2011-09-10 71 views
1

我正在執行一個請求(SOAP webservice)並且響應速度非常慢(請參閱下面的日誌)。
使用NSURLConnection緩慢下載

這個問題既發生在設備上,也發生在模擬器中。
當我使用cURL或SoapUI執行相同的請求時,但是呼叫一秒鐘內完成。
什麼可能導致這種情況?

代碼

NSString *msgLength = [NSString stringWithFormat:@"%d", [soapRequest length]]; 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];    
[request addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];  
[request addValue:msgLength forHTTPHeaderField:@"Content-Length"]; 
[request setHTTPMethod:@"POST"];  
[request setHTTPBody:[soapRequest dataUsingEncoding:NSUTF8StringEncoding]]; 
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

模擬器日誌

00:58:31.727 [WSClient connection:didReceiveData:] [Line 109] |NETWORK| Received data. Size[1440] 
00:58:32.858 [WSClient connection:didReceiveData:] [Line 109] |NETWORK| Received data. Size[1440] 
00:58:33.979 [WSClient connection:didReceiveData:] [Line 109] |NETWORK| Received data. Size[5760] 
00:58:35.106 [WSClient connection:didReceiveData:] [Line 109] |NETWORK| Received data. Size[8640] 
00:58:36.130 [WSClient connection:didReceiveData:] [Line 109] |NETWORK| Received data. Size[1440] 
00:58:38.287 [WSClient connection:didReceiveData:] [Line 109] |NETWORK| Received data. Size[1440] 
00:58:40.430 [WSClient connection:didReceiveData:] [Line 109] |NETWORK| Received data. Size[1440] 
00:58:41.762 [WSClient connection:didReceiveData:] [Line 109] |NETWORK| Received data. Size[1440] 
00:58:42.273 [WSClient connection:didReceiveData:] [Line 109] |NETWORK| Received data. Size[1440] 
00:58:42.274 [WSClient connection:didReceiveData:] [Line 109] |NETWORK| Received data. Size[1440] 
00:58:45.243 [WSClient connection:didReceiveData:] [Line 109] |NETWORK| Received data. Size[1440] 
00:58:46.532 [WSClient connection:didReceiveData:] [Line 109] |NETWORK| Received data. Size[1440] 
00:58:48.008 [WSClient connection:didReceiveData:] [Line 109] |NETWORK| Received data. Size[428] 
00:58:48.010 [WSClient connectionDidFinishLoading:] [Line 121] |NETWORK| Done 

回答

0

我不能回答你的問題直接。也許它與你的代理處理程序有關?也許可以幫助發佈這些。

無論如何,我真的想把ASIHTTPRequest引起您的注意。這是一個廣泛使用和流行的選擇,可能會讓你的生活更輕鬆。

+0

委託所做的唯一事情是[myData appendData:data]。 – Egil