Как отправить квитанцию ​​о переходе вместе с идентификатором продукта на мой сервер? - PullRequest
2 голосов
/ 13 мая 2010

как отправить квитанцию ​​о переходе вместе с идентификатором продукта на мой сервер, используя метод HTTP POST? Должен ли я кодировать идентификатор продукта с помощью base64?

Я получаю этот ответ:

{"message": "21002: java.lang.IllegalArgumentException: propertyListFromString проанализировал объект, но в строке еще есть текст. В plist должен содержаться только один объект верхнего уровня. Номер строки: 1, столбец: 2478 . "," ошибка ": 1}

даже после кодирования квитанции о переходе с кодировкой base64 ...

Вот что я делаю:

NSString *bodyString = [NSString stringWithFormat:@"product_id=%@&receipt_data=%@",self.currentProductIdentifer,
[self.productReceiptData base64Encoding]];
NSData *bodyData = [bodyString dataUsingEncoding:NSUTF8StringEncoding
  allowLossyConversion:YES];
NSAssert(bodyData!=nil,@"HTTP Body is empty !");

//posting the data to server 
NSMutableURLRequest *theRequest=[NSMutableURLRequest requestWithURL:
  [NSURL URLWithString:inUrlString]
  cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody:inData];  //inData is http body(bodyData) created above 
 // create the connection with the request // and start loading the data 
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self]; 
...