У меня проблема с моим целевым кодом c.У меня есть API-интерфейс WCF, защищенный ключом API, который принимает запросы POST и записывает их в Java-сервлет с C #.В любом случае, это прекрасно работает при тестировании с Fiddler, но не так хорошо для цели C. Когда я пытаюсь запустить POST из моей цели C, он «действует» так, как NSURLMutableRequest ищет GET, поскольку ответ возвращает только некоторое значение по умолчаниюкод, который я написал для метода GET.Кто-нибудь знает, почему это так, и, кроме того, что я могу сделать, чтобы это исправить?Вот код, который я использую (довольно успешно) для выполнения других запросов POST с целью C.
- проблема в том, что я указываю ключ API в URL для NSMutableRequest?Это единственное, что я могу понять.
Вот код:
NSString* theMessage = [NSString stringWithFormat:@"<MyRequestObject xmlns='http://schemas.datacontract.org/2004/07/MyService'></MyRequestObject>"];
NSMutableURLRequest *theRequest=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:POST_API_URL]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:240.0];
[theRequest setHTTPMethod:@"POST"];
[theRequest setValue:@"text/xml" forHTTPHeaderField:@"Content-Type"];
[theRequest setHTTPBody:[theMessage dataUsingEncoding:NSUTF8StringEncoding]];
NSString *msgLength = [NSString stringWithFormat:@"%d", [theMessage length]];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
NSURLResponse* response;
NSError *error;
NSData* result = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:&response error:&error];