Я работаю над проектом iPad, и этот проект должен общаться с веб-сервисами json-rpc. Веб-сервисы основаны на Drupal с модулем: cck и views.
1) Мне нужно отправить объект json в веб-сервис 2) Мне нужны данные обратного вызова из веб-сервиса
Я уже внедрил API SBJSON и API https://github.com/samuraisam/DeferredKit/. к проекту iPad.
API SBJSON работает нормально, и я понимаю, что Samuriaisam DefferedKit для меня новинка
Мой вопрос: как получить данные из этого веб-сервиса json-rpc, есть ли у кого-нибудь пример кода? Или в некоторых местах, где я могу найти документацию по веб-сервису Objective C — json-rpc.
С уважением,
Барт Шун
---------Обновить--------
Сейчас я использую этот код:
NSString *jsonString = @"{\"method\":\"views.get\",\"params\":{\"view_name\":\"client_list\",\"sessid\":\"xxxxxx\"},\"id\":1}";
NSString *requestString = [NSString stringWithFormat:@"%@",jsonString,nil];
NSLog(@"input: %@",jsonString);
NSData *requestData = [NSData dataWithBytes: [jsonString UTF8String] length: [jsonString length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString:@"http://subdomain.domain.com/services/json-rpc"]];
NSString *postLength = [NSString stringWithFormat:@"%d", [requestData length]];
[request setHTTPMethod: @"POST"];
[request setValue:@"Content-type: application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:requestData];
//Data returned by WebService
NSData *returnData = [NSURLConnection sendSynchronousRequest: request returningResponse: nil error: nil ];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding: NSUTF8StringEncoding];
NSLog(@"output: %@",returnString);
Это приведет к следующему сообщению с сервера:
{"error":{"name":"JSONRPCError","code":-32600,"message":"The received JSON not a valid JSON-RPC Request"},"version":"1.1"}
---------/Обновить--------
Что не так? Кто-нибудь сталкивался с этим?
С уважением,
Барт Шун