2013-02-27 118 views
0

我想從我的iOS應用程序連接到Web服務。以前我的網址是http://<domain name>/mobilews/mobilews.asmx。最近我更改爲http://<domain name>/mobilewstest/mobilews.asmx無法訪問iOS中的Web服務

我已將我的網址放在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服務時,它在瀏覽器提供。

回答

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]; 
    } 

我看到你發送同步請求...試試這個更簡單的方法。

+0

但是然後responseString是空的。爲什麼? – iDia 2013-02-27 08:24:13

+0

嘗試使用硬編碼網址並再次查看...並在瀏覽器中嘗試相同的硬編碼網址。 – yunas 2013-02-27 08:26:33

+0

只要確認,方法類型是「GET」而不是「POST」 – yunas 2013-02-27 08:27:49