Калитка 6 - Захват параметров HttpServletRequest в многочастной форме?

Используя Wicket 6.17 и сервлет 2.5, у меня есть форма, которая позволяет загружать файлы, а также ReCaptcha (используя Recaptcha4j). Когда форма имеет ReCaptcha без загрузки файла, она работает правильно, используя код:

    final HttpServletRequest servletRequest = (HttpServletRequest ) ((WebRequest) getRequest()).getContainerRequest();
    final String remoteAddress = servletRequest.getRemoteAddr();
    final String challengeField = servletRequest.getParameter("recaptcha_challenge_field");
    final String responseField = servletRequest.getParameter("recaptcha_response_field");

получить поля запроса и ответа, чтобы их можно было проверить.

Это не работает, когда форма имеет загружаемый файл, потому что форма должна быть составной, чтобы загрузка работала, и поэтому, когда я пытаюсь получить параметры таким способом, происходит сбой.

Я пытался получить параметры по-разному, используя ServletFileUpload:

    ServletFileUpload fileUpload = new ServletFileUpload(new DiskFileItemFactory(new FileCleaner()) );
    String response = IOUtils.toString(servletRequest.getInputStream());

а также

    ServletFileUpload fileUpload = new ServletFileUpload(new DiskFileItemFactory(new FileCleaner()) );
    List<FileItem> requests = fileUpload.parseRequest(servletRequest);

оба из которых всегда возвращаются пустыми.

Используя сетевую консоль Chrome, я вижу значения, которые я ищу, в Request Payload, поэтому я знаю, что они где-то есть.

Будем весьма благодарны за любые советы о том, почему запросы возвращаются пустыми и как их найти.

Обновление: я также попытался сделать компонент ReCaptcha составным и исключил загрузку файла. Результат все тот же, что ответ пустой, и я остаюсь с первоначальным выводом о том, что проблема заключается в представлении многочастной формы.

Ответы на вопрос(1)

Ваш ответ на вопрос