RESTKitを介してXMLWebサービスを利用しようとしています。
サービスに接続できますが、次のようなエラーが返されます。
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]);
}];
問題は、期待されるコンテンツタイプ(null)がまだ表示され、application/xmlエラーメッセージが表示されることです。
さらに、非常にすばやく簡単なサンプルASIHTTPアプリを介してサービスURLを呼び出しましたが、これは成功しています。私は何か基本的なものが欠けているに違いありません。
ありがとう