When adding User Attributes in RSA Identity Governance and Lifecycle 7.1.0 the following error appear: The number of parameters exceeded the maximum of 1000
2 years ago
Originally Published: 2018-10-08
Article Number
000041662
Applies To
RSA Product Set: RSA Identity Governance and Lifecycle
RSA Version/Condition: 7.1.0
Application Server: WildFly
Issue
When trying to add/edit User Attributes from Admin > Attributes > User then Edit, it gives a blank page throwing the following error in aveksaServer.log
ERROR (default task-16) [com.aveksa.gui.core.filters.LoginFilter] 
java.lang.IllegalStateException: UT000047: The number of parameters exceeded the maximum of 1000 
at io.undertow.server.handlers.form.FormData.add(FormData.java:78) 
at io.undertow.server.handlers.form.FormData.add(FormData.java:68) 
at io.undertow.server.handlers.form.FormEncodedDataDefinition$FormEncodedDataParser.doParse(FormEncodedDataDefinition.java:173) 
at io.undertow.server.handlers.form.FormEncodedDataDefinition$FormEncodedDataParser.parseBlocking(FormEncodedDataDefinition.java:252) 
at io.undertow.servlet.spec.HttpServletRequestImpl.parseFormData(HttpServletRequestImpl.java:761) 
at io.undertow.servlet.spec.HttpServletRequestImpl.getParameter(HttpServletRequestImpl.java:636) 
at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:194) 
at com.aveksa.gui.util.security.XSSRequestWrapper.getParameter(XSSRequestWrapper.java:80)
Cause
The issue occurred when the customer had more than 112 User Attributes. The number of attributes in this case exceeded the WildFly application server default maximum parameters threshold of 1000
Workaround
You can manually edit the file aveksa-standalone-full.xml located under /home/oracle/wildfly/standalone/configuration and add the max-parameters and set it to 3000 instead of the default (1000) as below

In the example below the limit is increased from 1000 (default) to 3000 by adding the max-parameters value and setting it to 3000.
acm-710:/home/oracle/wildfly/standalone/configuration # cat aveksa-standalone-full.xml | grep listener
                <http-acceptor name="http-acceptor" http-listener="default"/>
                <http-acceptor name="http-acceptor-throughput" http-listener="default">
                <http-listener name="default" socket-binding="http" max-post-size="2147483647" redirect-socket="https" enable-http2="true" max-parameters="3000"/>
                <https-listener name="https" socket-binding="https" max-post-size="2147483647" security-realm="AveksaRealm" enabled-protocols="TLSv1,TLSv1.1,TLSv1.2" max-parameters="3000"/>
                <https-listener name="agent-ssl" socket-binding="agent-ssl" max-post-size="2147483647" security-realm="AveksaAgentRealm" verify-client="REQUIRED" enabled-protocols="TLSv1.2" max-parameters="3000"/>