【问题标题】:iPhone/Objective-C - Strange error when passing string to methodiPhone/Objective-C - 将字符串传递给方法时出现奇怪的错误
【发布时间】:2011-05-06 06:33:15
【问题描述】:

我正在使用http://www.sudzc.com/ 在我的 iPhone 应用程序中访问 SOAP Web 服务。我在 ASP.NET 中有一个方法,它接受 string 并返回一个字符串(确切地说是 Facebook 访问令牌)。

string 如下:

iOCCeM4WGIwBlDxECRFr4AfIEsW598Z4sYjk2uMxsyo.eyJpdiI6IkZPQlN1YWlGNXY0aWs3SmFMWFUwcVEifQ.ITh3ZBGrbgU8DsYWz6d-S4Q1iNlQ8DwKGZB6RZvOkTUpa0VmW7qFS6MO1tkauHoJMFrOlwSrvVuMEO_SQTh8xtR2d0219PPSshiYBHYkjsokSYTuyIaSclVIrL2vh7xH

我的应用程序中时不时会出现如下错误,我不太清楚为什么。实际的字符串是我数据库中的 nvarchar(255) 字段。

此错误并非一直发生。但这已经发生了好几次了。

如果我能解决这个问题,我们将不胜感激。

提前致谢。

Entity: line 20: parser error : AttValue: " or ' expected
            <span><H1>Server Error in '/' Application.<hr width=100% size=1 colo
                                                                ^
Entity: line 20: parser error : attributes construct error
            <span><H1>Server Error in '/' Application.<hr width=100% size=1 colo
                                                                ^
Entity: line 20: parser error : Couldn't find end of Start Tag hr line 20
            <span><H1>Server Error in '/' Application.<hr width=100% size=1 colo
                                                                ^
Entity: line 31: parser error : AttValue: " or ' expected
            <table width=100% bgcolor="#ffffcc">
                         ^
Entity: line 31: parser error : attributes construct error
            <table width=100% bgcolor="#ffffcc">
                         ^
Entity: line 31: parser error : Couldn't find end of Start Tag table line 31
            <table width=100% bgcolor="#ffffcc">
                         ^
Entity: line 46: parser error : Opening and ending tag mismatch: br line 29 and table
            </table>
                    ^
Entity: line 52: parser error : AttValue: " or ' expected
            <table width=100% bgcolor="#ffffcc">
                         ^
Entity: line 52: parser error : attributes construct error
            <table width=100% bgcolor="#ffffcc">
                         ^
Entity: line 52: parser error : Couldn't find end of Start Tag table line 52
            <table width=100% bgcolor="#ffffcc">
                         ^
Entity: line 67: parser error : Opening and ending tag mismatch: br line 50 and table
            </table>
                    ^
Entity: line 71: parser error : Opening and ending tag mismatch: br line 69 and body
    </body>
           ^
Entity: line 72: parser error : Opening and ending tag mismatch: br line 50 and html
</html>
       ^
Entity: line 73: parser error : Premature end of data in tag br line 48

^
Entity: line 73: parser error : Premature end of data in tag br line 29

^
Entity: line 73: parser error : Premature end of data in tag br line 27

^
Entity: line 73: parser error : Premature end of data in tag br line 27

^
Entity: line 73: parser error : Premature end of data in tag font line 24

^
Entity: line 73: parser error : Premature end of data in tag body line 18

^
Entity: line 73: parser error : Premature end of data in tag html line 1

^
2011-05-06 16:15:55.939 MyProject[9206:707] -[NSError AccessToken]: unrecognized selector sent to instance 0x4b87a10
2011-05-06 16:15:56.040 MyProject[9206:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSError AccessToken]: unrecognized selector sent to instance 0x4b87a10'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x3237064f __exceptionPreprocess + 114
    1   libobjc.A.dylib                     0x365b3c5d objc_exception_throw + 24
    2   CoreFoundation                      0x323741bf -[NSObject(NSObject) doesNotRecognizeSelector:] + 102
    3   CoreFoundation                      0x32373649 ___forwarding___ + 508
    4   CoreFoundation                      0x322ea180 _CF_forwarding_prep_0 + 48
    5   MyProject                           0x000093ab -[MyAccountVC handlerGetUserByAccessToken:] + 46
    6   CoreFoundation                      0x322ddf03 -[NSObject(NSObject) performSelector:withObject:] + 22
    7   MyProject                           0x00026309 -[SoapRequest handleError:] + 148
    8   MyProject                           0x00026737 -[SoapRequest connectionDidFinishLoading:] + 254
    9   Foundation                          0x31f4a2f5 -[NSURLConnection(NSURLConnectionReallyInternal) sendDidFinishLoading] + 68
    10  Foundation                          0x31f4a277 _NSURLConnectionDidFinishLoading + 78
    11  CFNetwork                           0x35e71411 _ZN19URLConnectionClient23_clientDidFinishLoadingEPNS_26ClientConnectionEventQueueE + 136
    12  CFNetwork                           0x35e65f49 _ZN19URLConnectionClient26ClientConnectionEventQueue33processAllEventsAndConsumePayloadEP20XConnectionEventInfoI12XClientEvent18XClientEventParamsEl + 100
    13  CFNetwork                           0x35e65e3b _ZN19URLConnectionClient13processEventsEv + 70
    14  CFNetwork                           0x35e65ded _ZN13URLConnection24multiplexerClientPerformEP18RunLoopMultiplexer + 36
    15  CFNetwork                           0x35e65d5f _ZN17MultiplexerSource7performEv + 126
    16  CFNetwork                           0x35e65cdd _ZN17MultiplexerSource8_performEPv + 8
    17  CoreFoundation                      0x32347a79 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 12
    18  CoreFoundation                      0x3234975f __CFRunLoopDoSources0 + 382
    19  CoreFoundation                      0x3234a4eb __CFRunLoopRun + 230
    20  CoreFoundation                      0x322daec3 CFRunLoopRunSpecific + 230
    21  CoreFoundation                      0x322dadcb CFRunLoopRunInMode + 58
    22  GraphicsServices                    0x3058241f GSEventRunModal + 114
    23  GraphicsServices                    0x305824cb GSEventRun + 62
    24  UIKit                               0x35550d69 -[UIApplication _run] + 404
    25  UIKit                               0x3554e807 UIApplicationMain + 670
    26  MyProject                           0x00003f73 main + 70
    27  MyProject                           0x00003f28 start + 40
)
terminate called after throwing an instance of 'NSException'
Program received signal:  “SIGABRT”.

【问题讨论】:

  • 看起来您的 Web 服务正在返回 HTML 页面而不是 SOAP 响应。
  • 因此 SOAP 解析代码中断,而不是生成响应选择器 AccessToken 的对象只是记录错误
  • @Bavarious:是的,它有时会返回 HTML,有时会返回访问令牌。
  • 您的问题到底是什么?当您收到无效响应时,您想防止您的 Objective-C 代码中断吗?如果是这样,您需要粘贴用于解析 SOAP 响应的代码。

标签: iphone objective-c nsstring sudzc


【解决方案1】:

看起来我的 Web 服务已关闭,我只是没有在 Objective-C 中正确处理它。因此为什么它返回 HTML(ASP.NET 错误页面)而不是字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    相关资源
    最近更新 更多