Прослушиватель Ajax не работает с входным файлом JSF2.2

Привет, моя проблема несколько похожа на следующую: ajax-listener-not-working-with- входной файл

Я могу загружать файлы с помощью вызова AJAX в своей локальной среде, и все работает так, как ожидалось. Однако, когда я развертываю военный файл на Jelastic PaaS, прослушиватель AJAX, похоже, не работает.

Я попытался обновить JSF2.2 на Jelastic, заменив банку в Glassfish\modules и перезапустив сервер, как предлагается здесь: JSF-правильный-рабочий-AJAX-файл

Но это, похоже, не решило проблему.

Я даже создал очень простой тест, похожий на тот, который использовался в первой ссылке, и мне все еще не везет.

xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html">
<h:head>
    <title>JSF Test</title>
</h:head>
<h:body>
<h:form>
    <h:commandButton id="btnTest" value="Command Button">
        <f:ajax listener="#{submitFormBean.uploadTest()}"/> --> This works.
    </h:commandButton>
</h:form>
<h:form>
    <h:commandLink id="lnkTest" value="Command Link">
        <f:ajax listener="#{submitFormBean.uploadTest()}"/> --> This works.
    </h:commandLink>
</h:form>
<h:form enctype="multipart/form-data">
    <h:inputFile id="fileTest">            
        <f:ajax listener="#{submitFormBean.uploadTest()}"/> --> This input file using Ajax call doesn't work
    </h:inputFile>
</h:form>
</h:body>
</html>

фасоль

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

@ViewScoped
@ManagedBean(name = "submitFormBean")
public class SubmitFormBean{

    public SubmitFormBean() {
    }

    public void uploadTest(){
        System.out.println("Test");
    }
}

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


person kbgnat    schedule 12.11.2015    source источник
comment
Какую именно версию модхарры вы пробовали? Какую именно версию GlassFish вы используете? GF 4.0 — это самый первый релиз, поэтому в нем много ошибок. Возьмите текущую последнюю доступную версию и повторите попытку.   -  person BalusC    schedule 12.11.2015
comment
Привет BalusC, спасибо за ответ. Я пробовал Mojarra 2.2.10 и 2.3, но безуспешно. Версия GlashFish на Jelastic — 4.1 (сборка 13). В моей собственной среде разработки, которая отлично работает, я использую GlassFish 4.0 (сборка 89).   -  person kbgnat    schedule 12.11.2015
comment
@kbgnat, не могли бы вы предоставить дополнительную информацию, например журналы, ответы сервера и т. д.? Кроме того, будет здорово посмотреть на ваше живое приложение.   -  person Aless    schedule 13.11.2015
comment
@ Кроме того, к сожалению, нет журналов или ответов сервера, которые я могу опубликовать, поскольку слушатель не принимает вызов ajax. Приложение все еще находится в разработке, поэтому тестируется только на Jelastic. К сожалению, я не могу предоставить больше дополнительной информации.   -  person kbgnat    schedule 17.11.2015
comment
Что я заметил, так это то, что с помощью простой тестовой страницы commandButton, commandLink и inputFile, которую я создал, слушатель также не может подобрать вызовы commandButton и commandLink, если моим последним действием был щелчок на файлеInput.   -  person kbgnat    schedule 17.11.2015
comment
@kbgnat, вы используете нестандартные порты (вместо 80, 8080, 433 и т. д.) для слушателя?   -  person Aless    schedule 19.11.2015
comment
@ Кроме того, он настроен на использование портов по умолчанию. Порт 8080 для HTTP, порт 8181 для HTTPS и порт 4848 для администрирования.   -  person kbgnat    schedule 19.11.2015
comment
Следующая ошибка была обнаружена с помощью firebug после выбора файла для загрузки: TypeError: partialResponse is undefined   -  person kbgnat    schedule 19.11.2015