2012-05-17 4 views
0

Я отправляю объект json на сервер, используя метод post.Below - это мой код.webservices Ошибка 405 в Xcode

Код

-(IBAction)ButtonClicked:(id)sender{ 

    NSMutableDictionary *dic=[[NSMutableDictionary alloc] initWithCapacity:1]; 
    [dic setValue:@"ra" forKey:@"Owner"]; 

    [dic setValue:@"YES" forKey:@"IsMale"]; 

    [dic setValue:[NSNumber numberWithInt:2] forKey:@"ImageId"]; 

    [dic setValue:@"[email protected]" forKey:@"EmailAddress"]; 
    [dic setValue:@"12341" forKey:@"Password"]; 
    [dic setValue:@"ra1" forKey:@"FullName"]; 

    [dic setValue:@"12-03-1987" forKey:@"DOB"]; 

    NSString *newurlString=[dic JSONRepresentation]; 

    NSString *[email protected]"https://sample.com/Discover/create"; 
    NSData *postData = [newurlString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; 
    NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; 

    NSLog(@"urlString::%@",newurlString); 
    NSLog(@"postLength::%@",postLength); 

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLCacheStorageNotAllowed timeoutInterval:300]; 
    [request setHTTPMethod:@"POST"]; 
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
    [request setValue:@"text/plain" forHTTPHeaderField:@"Content-Type"]; 
    [request setHTTPBody:postData]; 

    NSURLConnection *theConnection =[[NSURLConnection alloc] initWithRequest:request delegate:self]; 

    if(theConnection) 
    { 
     webData = [[NSMutableData data] retain]; 
    } 
    else 
    { 
     NSLog(@"theConnection is NULL"); 
    } 
} 

- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{ 
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response; 
    int code = [httpResponse statusCode]; 
    NSLog(@"code is : %d",code); 
} 

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
    [webData appendData:data]; 
} 

- (void)connectionDidFinishLoading:(NSURLConnection *)connection 
{ 
    NSString* newStr = [[[NSString alloc] initWithData:webData 
               encoding:NSUTF8StringEncoding] autorelease]; 
    NSLog(@"%@",newStr); 
} 

Моя проблема в том я получаю код ответа 405.I не знаю, где эта проблема? Любезно помочь me.thanks в advance.Let мне знать, если вам нужно больше деталей ,

ответ

1

405 средства. - Method Not Allowed

(Метод, указанный в строке запроса, не разрешен для ресурса, идентифицированного Request-URI Ответ ДОЛЖЕН включать Разрешить заголовок, содержащий список допустимых методов для запрашиваемый ресурс. Status Code Definitions

Таким образом, может быть его потому, что вы используете метод POST, и вебсервис не позволяет.

+0

могли бы вы рассказать мне о «ответ ДОЛЖЕН включать разрешить заголовок, содержащий список действительные методы для запрашиваемого ресурса " – Tendulkar