我想通过RESTKit使用XML Web服务。RESTkit通信错误
我能够连接到服务,但是我收到一个错误回如下:
error=Error Domain=AFNetworkingErrorDomain Code=-1016 "Expected content type (null), got application/xml"
我已经尝试设置内容类型标题如下,但仍然没有得到任何改变:
AFHTTPClient* client = [[AFHTTPClient alloc] initWithBaseURL:baseURL];
[client setDefaultHeader:@"Content-Type" value:RKMIMETypeXML];
希望有人可以提供帮助。
我已经包含的代码我使用做出如下申请:
NSURL *baseURL = [NSURL URLWithString:@"http://someaddress/"];
RKObjectManager *objectManager = [RKObjectManager managerWithBaseURL:baseURL];
[objectManager setRequestSerializationMIMEType:RKMIMETypeXML];
[objectManager setAcceptHeaderWithMIMEType:RKMIMETypeXML];
RKObjectMapping *recipeMapping = [RKObjectMapping mappingForClass:[Recipe class]];
[recipeMapping addAttributeMappingsFromDictionary:@{
@"articleid" : @"ArticleId",
@"title" : @"Title",
@"url" : @"URL"
}];
// Register our mappings with the provider using a response descriptor
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:recipeMapping
pathPattern:nil
keyPath:@"Recipes"
statusCodes:[NSIndexSet indexSetWithIndex:200]];
[objectManager addResponseDescriptor:responseDescriptor];
[objectManager getObjectsAtPath:@"some/path/"
parameters:nil
success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
NSArray *recipes = [mappingResult array];
NSLog(@"Loaded statuses: %@", recipes);
}
failure:^(RKObjectRequestOperation *operation, NSError *error) {
NSLog(@"Hit error: %@", [error localizedDescription]);
}];
的问题是,我仍然得到预期的内容类型(空),得到了应用/ XML的错误消息。
此外,我已经通过一个非常快速和简单的示例ASIHTTP应用程序打电话到服务的URL,这是成功的。我必须错过一些根本性的东西。
感谢
您正在混合RestKit和AFNetworking。 – Martin