У меня есть объект данных, называемый DataElement. Он содержит строку байтов изображений Base64, а также пару других полей.Проводка сериализованного объекта с сбоем AFNetworking
Я пытаюсь отправить это к моей службе WCF, и я получаю сообщение об ошибке «Прогнозный коде состояния в (200-299), получил 400.
Цель состоит в том, чтобы получить возможность отправлять данные + изображение в WCF (отдохнуть) и получить модифицированное изображение - окончательное испытание того, над чем я работаю.
В моем методе post, если я оставляю закодированную строку пустой на объекте, все работает просто отлично, но если эта строка является чем-то другим, кроме пустого, я получаю эту ошибку.
Служба WCF даже не попадает в цель, она просто бомбирует право на ошибку. Вот мой метод почты ... что я делаю неправильно?
- (void)postDataToServer:(NSString*)server dataElement:(DataElement*)dataElement asJson:(BOOL)useJson
{
NSString *urlString = [[NSString alloc] init];
NSData *encodedData;
urlString = [[server copy] stringByAppendingString:@"EchoXml"];
encodedData = [self encodeDataElementAsXml:dataElement];
NSURL *url = [NSURL URLWithString:urlString];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:urlString parameters:nil];
[request setHTTPBody:encodedData];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
[_responseTextView setText:[NSString stringWithFormat:@"Successfully uploaded file to %@", urlString]];
NSObject *httpResponseObject;
httpResponseObject = [self parseResponseAsXml:responseObject];
if ([httpResponseObject isKindOfClass:[DataElement class]])
{
DataElement *dataElement = (DataElement *)httpResponseObject;
_responseTextView.text = dataElement.DataText;
if (dataElement.DataImageBase64 != nil)
{
UIImage *dataImage = [self getImageFromString:dataElement.DataImageBase64];
self.responseImageView.image = dataImage;
}
}
NSLog(@"Successfully uploaded file to %@", urlString);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// It goes here immediately
[_responseTextView setText:[NSString stringWithFormat:@"Error: %@", error]];
NSLog(@"Error: %@", error);
}];
[operation start];
}
Edit: К сожалению форматирование есть шаткий, когда я вставил его в ...
Я рассмотрю это, но хотя это неверно, я не думаю, что URL-адрес неверен - этот код работает нормально, если свойство на элементе данных не задано с данными. Я проверил это, как свою службу WCF, и я могу ударить по своим точкам останова. Просто добавление данных к этому свойству нарушает его. – Nicros
Ах, извините, я пропустил предложение, в котором вы сказали «если я оставлю закодированную строку пустой на объекте, все будет работать нормально». –