私はこの問題に何時間も取り組んできましたが、理解できません。
私のサーバーは、ユーザーが新しい関数で更新できるWSDLファイルを作成し、WSDLファイルはそれらの変更を反映するように更新されます。AFHTTPRequestOperation
withを使用しGET
てそのファイルを取得しているので、ファイルにどの関数が存在するかを確認できます。
何らかの理由で、ユーザーがファイルを更新して再生成した後AFHTTPRequestOperation
も、古いバージョン(キャッシュされていますか?)が表示されますが、サイトなどにログインしていないブラウザで同じURLを表示すると、新しいバージョンが表示されます。ファイルの。試しwget
ても新しいコピーを取得します。
私はNSURLRequestReloadIgnoringLocalAndRemoteCacheData
自分で使用することを確認していますNSMutableURLRequest
が、それは問題ではないようです:
// Setup the connection
NSString *wsdlURL = [NSString stringWithFormat:@"%@?WSDL", site.soapURL];
NSURL *serviceUrl = [NSURL URLWithString:wsdlURL];
NSMutableURLRequest *serviceRequest2 = [NSMutableURLRequest requestWithURL:serviceUrl cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:60.0];
[serviceRequest2 setHTTPMethod:@"GET"];
// Create the operation
AFHTTPRequestOperation *operation2 = [[AFHTTPRequestOperation alloc] initWithRequest:serviceRequest2];
[operation2 setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation2, id responseObject2) {
// Convert data to string
NSString *wsdlStr = [[NSString alloc] initWithData:(NSData *)responseObject2 encoding:NSUTF8StringEncoding];
} failure:^(AFHTTPRequestOperation *operation2, NSError *error) {
failure(error);
}];
[operation2 start];
ファイルの古いコピーを取得する理由を誰かが知っていますか?そして、ブラウザは新しいものを表示しますか?