Oauth を実装した Web サービス API との通信を開始しました。OauthConsumer を実装し、GET メソッドによるデータの構築と取得を開始しました。XML本体でPOSTメソッドを試みるまで、すべてうまくいきました。
最初は、問題の解決に少し近づくのに役立ついくつかのナゲットを発見するまで、間違ったツリーを吠え始めました
- Content-Type を設定する必要がありました
setHTTPBody メソッドを設定する前にリクエストを準備する必要がありました
OAMutableURLRequest *request = [[OAMutableURLRequest alloc] initWithURL:url consumer:consumer token:accessToken realm:nil signatureProvider:nil]; [request setHTTPMethod:@"POST"]; [request setValue:@"application/xml" forHTTPHeaderField:@"Content-Type"]; [request prepare]; [request setHTTPBody:[xml dataUsingEncoding:NSUTF8StringEncoding]]; OADataFetcher *fetcher = [[OADataFetcher alloc] init]; [fetcher fetchDataWithRequest:request delegate:self didFinishSelector:@selector(apiTicket:didPostInvoice:) didFailSelector:@selector(apiTicket:didFailPostInvoice:)];
その後、fetchDataWithRequest を呼び出すと NSRangeException が発生し始めました。
これを止める方法は?