Я осмотрел сайт, и я нашел несколько вариантов этого вопроса, но я не могу понять его. Я пытаюсь отправить через POST значение скрытого ввода с моим приложением iOS, которое я создаю.HTTP POST Скрытый тип ввода в SDK для iOS
Пример HTML POST Я пытаюсь воспроизвести в iOS.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<title>Testing</title>
<body>
<form NAME="formName" METHOD="post"
ACTION="https://samplewebservice.com">
<input type=hidden name="transactionMode" value="SendValues" >
<b>XML Message body:</b>
<TEXTAREA class="xmlbox" name="Request" COLS=100 ROWS=10 >
XML Request being sent.
</TEXTAREA>
<br>
<input TYPE=submit class=input VALUE="Send Request">
</form>
</body>
</html>
Выше описано, как настроить веб-сервис. Однако я могу отправить свой XML, но веб-служба, которую я пытаюсь отправить, продолжает говорить о том, что параметр Request отсутствует. Ниже вы найдете мой код Obj-C, который я сделал, чтобы решить эту проблему.
NSString *_xmlDoc = [[NSString alloc] initWithFormat:@"%@=%@&%@=%@", @"transactionMode", @"SendValues", @"Request", @"XML Request being sent. "];
NSString *postLength = [NSString stringWithFormat:@"%d", [_xmlDoc length]];
NSData *postData = [_xmlDoc dataUsingEncoding:NSUTF8StringEncoding];
NSURL *serviceUrl = [NSURL URLWithString:@"https://samplewebservice.com"];
NSMutableURLRequest *serviceRequest=[NSMutableURLRequest requestWithURL:serviceUrl cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60];
[serviceRequest setValue:postLength forHTTPHeaderField:@"Content-Length"];
[serviceRequest setValue:@"text/xml" forHTTPHeaderField:@"Content-Type"];
[serviceRequest setHTTPMethod:@"POST"];
[serviceRequest setHTTPBody:postData];
Ошибка в консоли из ответа веб-службы следующая.
<description>Mandatory request parameter is missing: Request</description>
Любая помощь будет принята с благодарностью. Заранее спасибо. Первый плакат, поэтому, пожалуйста, дайте мне знать, если я что-то пропустил.
С уважением,