尝试使用iOS应用程序(NSUrlSession,AFNetworking-2)连接到SOAP Web服务。
该Web服务可以与http和https(不是自签名证书)一起正常工作。现在,我们的IT部门已激活Web服务端口的反向代理。通过使用相同的代码,现在我收到此错误:
2015-11-06 08:19:59.473 ReverseProxy [1566:822246]错误的SOAP服务器!
错误:错误域= NSURLErrorDomain代码= -1012“(空)”
UserInfo = {NSErrorFailingURLKey = https://xxx.xxx.com:8833/xxx/xxx,
NSErrorFailingURLStringKey = https://xxx.xxx.com:8833/xxx/xxx}
第一个想法是,反向代理存在问题。但是使用SOAPUI进行相同的请求也可以正常工作。
知道为什么该应用程序不能与反向代理一起使用吗?
最佳答案
问题解决了。
不要为NSURLSession实现此委托。
-(void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable))completionHandler
..只需为NSURLSessionTask实现此委托。
-(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable))completionHandler
这解决了我的问题