2013-05-13 130 views
1

我有一個使用SOAP Web服務連接的100k +用戶的應用程序。一切正常,對於大多數用戶來說,除了有時使用NSURLConnection的我不斷收到錯誤:NSURLConnection丟失連接

Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo=0xac16c70 {NSErrorFailingURLStringKey=https://mail.scripps.org:443/ews/Exchange.asmx, NSErrorFailingURLKey=https://mail.scripps.org:443/ews/Exchange.asmx, NSLocalizedDescription=The network connection was lost., NSUnderlyingError=0x133b0eb0 "The network connection was lost."} 

這只是發生在某些服務器。服務器有NTLM身份驗證,95%的時間工作,但由於某種原因,我得到的錯誤,我不知道爲什麼。

任何幫助表示讚賞。

+0

的可能的複製[NSURLConnection的GET請求返回-1005「的網絡連接丟失」(http://stackoverflow.com/questions/25797339/nsurlconnection-get-request-returns-1005 -the-network-connection-was-lost) – CMash 2015-12-10 11:54:09

回答

0

網絡連接失敗發生,你只需要適度地處理它們。一種解決方案可能是重試連接1次或更多次,直到確認存在network connection後成功。下面的粗糙示例:

if([error domain] == NSURLErrorDomain && 
    [error code] == NSURLErrorNetworkConnectionLost && 
    retryCount < kMaxRetryCount) 
{ 
    [self retry]; 
    ++retryCount; 
} 
+0

我已經這樣做了。無論如何,對於這個特定的服務器來說,NTLM只面臨一次挑戰。但是,在NTLM之後,它似乎有多個NSURLAuthenticationMethodServerTrust挑戰,而其他服務器只有一次NSURLAuthenticationMethodServerTrust。 – VTS12 2013-05-13 18:07:07

+0

所以這發生在特定服務器的100%的時間?或者只有5%的時間用於特定服務器? – Joe 2013-05-13 18:12:29

+0

該特定服務器的時間爲100%,但對於所有用戶來說,總時間的95%。 – VTS12 2013-05-13 18:26:31

2

Question也確定了我遇到的問題。 而不是肥皂,我使用jsonrpc。

該解決方案很簡單。我需要:

[myMutableURLRequestObject setHTTPMethod:@"POST"];