无法访问iOS中的Web服务

时间:2013-02-27 08:05:41

标签: web-services ios6 info-plist

我想通过iOS应用程序连接网络服务。以前我的网址是http://<domain name>/mobilews/mobilews.asmx。最近我改为http://<domain name>/mobilewstest/mobilews.asmx

我已将我的网址放在info plist文件中。但在我将其更改为新URL后,我无法登录。

NSString *urlString = [NSString stringWithFormat:@"%@%@",serverURL,[queryString  stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]]; 

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"GET"];


NSHTTPURLResponse *response ;

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];

int statusCode = [((NSHTTPURLResponse *)response) statusCode];`

此处returnData变为nillstatusCode为0.但此urlString在浏览器中提供时已成功登录到Web服务。

1 个答案:

答案 0 :(得分:0)

    NSURL *url = [NSURL URLWithString:@"YOUR URL HERE"];
    NSError *connectionError = nil;
    NSData *inData = [NSData dataWithContentsOfURL:url options:NSDataReadingUncached error:&connectionError];
    NSInteger code = [connectionError code];
    if (code != 0)
    {
        NSString *locDesc = [NSString stringWithString:[connectionError localizedDescription]];
        NSString *locFail = [NSString stringWithString:[connectionError localizedFailureReason]];
        NSLog(@"Error: %d %@ %@", code, locDesc, locFail);
    }
    else if ([inData length] == 0)
    {
        NSLog(@"No data");
    }
    else{
    NSData *resultData  = [NSData dataWithContentsOfURL:url];
    NSString *responseString = [[NSString alloc]initWithData:resultData encoding:NSUTF8StringEncoding];
    }

我看到你发送一个同步请求...试试这个更简单的方法。