验证HTTP代理后面的WSDL2Objc代码崩溃 - 帮助理解崩溃日志

时间:2011-10-14 10:52:15

标签: ios web-services cfnetwork proxy-authentication

我使用WSDL2Objc生成的代码从我的应用程序成功调用WS。我将我的应用程序发送给同事用于测试目的,并且他们报告我在尝试连接到WS时App崩溃了。事实上iPad背后是HTTP身份验证代理。

根据我的理解,身份验证代理会将连接重定向到HTTP页面,该页面会显示“请提供凭据”等消息

我必须避免崩溃,只是显示错误,但我无法理解崩溃发生的位置。我已经将崩溃日志和崩溃的线程标记为粘贴日志。

感谢任何帮助。

Thread 3 Crashed:
0   CoreFoundation                  0x3592d75c CFHash + 124
1   CoreFoundation                  0x359d89f4 __CFBasicHashStandardHashKey + 8
2   CoreFoundation                  0x359da614 ___CFBasicHashFindBucket_Linear_NoCollision + 40
3   CoreFoundation                  0x359dc680 __CFBasicHashAddValue + 684
4   CoreFoundation                  0x35932f98 CFDictionarySetValue + 68
5   CFNetwork                       0x37516684 URLCredentialStorage::_SetCredentialForProtectionSpace(__CFDictionary*, _CFURLCredential const*, _CFURLProtectionSpace*) + 80
6   CFNetwork                       0x37516f4c URLCredentialStorage::setDefaultCredentialForProtectionSpace(_CFURLCredential const*, _CFURLProtectionSpace*) + 340
7   CFNetwork                       0x374e0e78 CFURLCredentialStorageSetDefaultCredentialForProtectionSpace + 20
8   CFNetwork                       0x3750cbe0 HTTPProtocol::RemoveCredentialPasswordForProtectionSpace(_CFURLCredential const*, _CFURLProtectionSpace*, unsigned char) + 60
9   CFNetwork                       0x3750e49c HTTPProtocol::_CFHTTPProtHasCredentialsForChallenge(__CFHTTPMessage*) + 832
10  CFNetwork                       0x3750f85a HTTPProtocol::attemptAuthentication(__CFHTTPMessage*) + 170
11  CFNetwork                       0x3750f9a4 HTTPProtocol::performHeaderRead() + 280
12  CFNetwork                       0x3750fee6 HTTPProtocol::httpReadStreamEvent(unsigned long) + 82
13  CFNetwork                       0x37510024 HTTPProtocol::_httpReadStreamCB(__CFReadStream*, unsigned long, void*) + 4
14  CoreFoundation                  0x35946a1a _signalEventSync + 70
15  CoreFoundation                  0x35947626 _cfstream_shared_signalEventSync + 198
16  CoreFoundation                  0x3599ea72 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 6
17  CoreFoundation                  0x359a0758 __CFRunLoopDoSources0 + 376
18  CoreFoundation                  0x359a14e4 __CFRunLoopRun + 224
19  CoreFoundation                  0x35931ebc CFRunLoopRunSpecific + 224
20  CoreFoundation                  0x35931dc4 CFRunLoopRunInMode + 52
21  Foundation                      0x36f747f6 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 206
22  Foundation                      0x36f67382 -[NSThread main] + 38
23  Foundation                      0x36fd95c6 __NSThread__main__ + 966
24  libsystem_c.dylib               0x33af730a _pthread_start + 242
25  libsystem_c.dylib               0x33af8bb4 thread_start + 0

1 个答案:

答案 0 :(得分:0)

HTTP会话的管理存在细微错误。我在这个博客中喜欢暗示 EXC_BREAKPOINT strange error 本质上问题出在NSURLConnection的didReceiveAuthenticationChallenge中。出于某些原因,仅针对某种服务,didReceiveAuthenticationChallenge将NULL凭据传递给连接,以便博客建议我尝试保留这些凭据字符串并且EXC_BREAKPOINT消失。