2012-09-14 232 views
10

我使用NSURLConnection從我的ios應用程序調用Web服務。這裏是我的代碼獲取錯誤域= NSURLErrorDomain代碼= -1004「無法連接到服務器。」

#define kBaseServerUrl  @"http://winshark.softwaytechnologies.com/bariodwcfservice/baroidservice.svc/Json/" 

#define kProductServiceUrl @"Products" 

-(void)callService{ 
    NSURL *url; 
    if (currState == ProductServiceState) { 
     url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@/%d",kBaseServerUrl,kProductServiceUrl,[self getRevisionNumberForProduct]]]; 
    } 
    else if(currState == TankStrickerServiceState){ 
     url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@/%d",kBaseServerUrl,kTankStrickerServiceUrl,[self getRevisionNumberForTankStricker]]]; 
    }else if(currState == CalculationServiceState){ 
     url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@/%d",kBaseServerUrl,kCalculationServiceUrl,[self getRevisionNumberForCalculation]]]; 
    }else{ 
     //Future Use 
    } 
    NSLog(@"%@",[url absoluteString]); 
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url]; 
    NSURLConnection *urlConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self]; 

    NSLog(@"%@",urlConnection); 
} 

其最終調用這個網址http://winshark.softwaytechnologies.com/bariodwcfservice/baroidservice.svc/Json/Products/123

,但是當我打的網址,瀏覽器其工作正常,但在我的應用程序即時得到這個錯誤

Error Domain=NSURLErrorDomain Code=-1004 "Could not connect to the server." 

請幫助我可能是什麼問題

+0

您是在設備上還是在模擬器上測試這個? – Wasim

+0

兩者都不起作用 – sachin

回答

2

看起來你正在設置它的權利,我會懷疑有關你的對象的東西 - 嘗試調用一個硬編碼的URL通過替換你的e xisting URL請求:

NSURLRequest *urlRequest = [NSURLRequest 
requestWithURL:[NSURL URLWithString:@"http://www.google.com"]]; 

應該使故障排除更容易。

+0

這很奇怪,我在[NSURLRequest類文檔]中找不到'requestWithString'方法(https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURLRequest_Class /Reference/Reference.html)...你能幫我嗎? –

+0

我認爲我可以給你的最好的幫助是指向你一些好的其他SO代碼;-)檢查出http://stackoverflow.com/questions/19263186/nsurlrequest-creation-using-query-string-in-ios這樣做的URL請求的例子。 – woody121

+1

@MaxGontar沒有一個。我認爲他的意思是'[NSURLRequest requestWithURL:[NSURL URLWithString:@「...」]]]。 – devios1

相關問題