didReceiveData NSMutableUrlRequest никогда не срабатывает - PullRequest
0 голосов
/ 10 октября 2009

Я новичок в мире разработки для iphone и пытаюсь вызвать веб-сервис, используя HTTP-метод POST.

Для этого я использую NSMutableUrlRequest. Моя проблема в том, что делегат DidReceiveData никогда не вызывается, и NSUrlConnection не возвращает ноль.

Вот мой код:

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData*)data
{
    NSLog(@"didReceiveData");
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    NSLog(@"didFinishLoading");
}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
    NSLog(@"didFailWithError");
}

- (void) HttpRequest
{
    NSLog(@"Calling HttpRequest");

    NSString *parameters = @"placeName=Restau";
    NSData *postData = [parameters dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
    NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
    NSURL *webServiceUrl = [NSURL URLWithString:@"http://api.malves.fr/API.asmx/EngineSearchPlaceService"];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:webServiceUrl];
    [request setHTTPMethod:@"POST"];
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    [request setValue:@"keep-live" forHTTPHeaderField:@"Connection"];
    [request setValue:@"300"  forHTTPHeaderField:@"Keep-Alive"];
    [request setHTTPBody:postData];

    NSURLConnection *connectionResponse = [[NSURLConnection alloc] initWithRequest:request delegate:self];
    if (!connectionResponse)
    {
        NSLog(@"Failed to submit request");
    }
    else
    {
        NSLog(@"Request submitted");
    }

    NSLog(@"Sleeping... ZZZZzzzzzz");
    [NSThread sleepForTimeInterval:10];
    NSLog(@"Sleep done");
}

Кто-нибудь может сказать мне, если я забыл что-то важное, пожалуйста? Большое спасибо.

1 Ответ

0 голосов
/ 10 октября 2009

похоже, что вы используете веб-сервис SOAP. Взгляните на этот учебник , в котором рассказывается обо всем, что вам нужно знать о вызове веб-службы на iPhone.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...