I have a was 9 server with two different web applications, each one with the esapi 2.1 library with its ESAPI.properties and validation.properties files:
A\webcontent\web-inf\esapi\ESAPI.properties
A\webcontent\web-inf\esapi\validation.properties
B\webcontent\web-inf\esapi\ESAPI.properties
B\webcontent\web-inf\esapi\validation.properties
In application B the validation.properties file has validations that are not in application A, when application B is alone works correctly but when the two applications are together the B application get properites files of A and does not load its validations so it gives an error.
I test changing B move the properties files in "src\esapi" and in "src\org\owasp\esapi\resources" and the same error always appears
The selected type was not set via the ESAPI validation configuration
java.lang.IllegalArgumentException: The selected type was not set via the ESAPI validation configuration
at org.owasp.esapi.reference.DefaultValidator.getValidInput(DefaultValidator.java:208)
at org.owasp.esapi.reference.DefaultValidator.getValidInput(DefaultValidator.java:185)
my web.xml:
<context-param>
<param-name>esapiProperties</param-name>
<param-value>/esapi/ESAPI.properties</param-value>
</context-param>
<context-param>
<param-name>validationEsapiProperties</param-name>
<param-value>/esapi/validation.properties</param-value>
</context-param>
or:
<context-param>
<param-name>esapiProperties</param-name>
<param-value>/org/owasp/esapi/resources/ESAPI.properties</param-value>
</context-param>
<context-param>
<param-name>validationEsapiProperties</param-name>
<param-value>/org/owasp/esapi/resources/validation.properties</param-value>
</context-param>