У нас есть приложение JSF 2.2.13, PrimeFaces 7.0.15, размещенное в клиентской инфраструктуре. Клиент JSF STATE_SAVING_METHOD
Один из наших новых клиентов имеет Azure брандмауэр веб-приложений шлюза приложений (WAF), а клиенты CyberSe c Architect сообщает, что максимальный размер тела запроса не может превышать 128 КБ *. 1003 *
У нас есть 1 критический экран, называемый рабочей средой, в котором есть множество вкладок и сеток, которые в итоге превращаются в одну страницу x html. ( мое предложение разбить экран на меню и подстраницы, а не эта вкладка была неприемлема на этапе проектирования )
Теперь при щелчке по определенной вкладке размер тела превышает 128 КБ и все последующие ajax действие не выполнено.
Кто-нибудь сталкивался с подобной проблемой во время миграции приложения в azure облако с WAF ИЛИ аналогичным ограничением проблемы шлюза?
Наше текущее исправление - настроить клиент с STATE_SAVING_METHOD на сервер.
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.numberOfViewsInSession</param-name>
<param-value>1</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.numberOfLogicalViews</param-name>
<param-value>7</param-value>
</context-param>
Ищете отзывы и обсуждаете некоторые варианты, которые можно реализовать с переделкой всего экрана :) Вариант 1 - STATE_SAVING_METHOD - сервер Вариант 2 - Возможным вариантом может быть разбиение на несколько форм, а затем вернуться к клиенту STATE_SAVING_METHOD?
<p:tabView id="workTab" activeIndex="#{caseItemDetailsBean.activeIndexWorkTab}" dynamic="true" cache="false" styleClass="tab-no-pad">
<p:ajax event="tabChange" listener="#{caseItemDetailsBean.onChangeWorkTabs}" process="@this" update="form:workTab" />
<p:tab title="Actions">
<p:tab title="..."> 7 more tabs
Запросить данные