10

我使用 NSURLConnection 从我的 ios 应用程序调用 Web 服务。这是我的代码

#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."

请帮助我可能是什么问题

4

1 回答 1

2

看起来您设置正确,我怀疑您的对象有一些问题 - 尝试通过将现有 URL 请求替换为以下内容来调用硬编码 URL:

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

应该使故障排除变得容易得多。

于 2013-03-25T23:12:49.160 回答