NSURLErrorDomain 代码=-1012 与反向代理

NSURLErrorDomain Code=-1012 with Reverse Proxy

尝试使用 iOS 应用程序(NSUrlSession、AFNetworking-2)连接到 SOAP Web 服务。 Webservice 使用 http 和 https(不是自签名证书)工作正常。现在,我们的 IT 已经激活了 Web 服务端口的反向代理。通过使用相同的代码,现在我得到这个错误:

2015-11-06 08:19:59.473 ReverseProxy[1566:822246] Bad SOAP server!. Error: Error Domain=NSURLErrorDomain Code=-1012 "(null)" 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

这解决了我的问题