Issue:

In Ephesoft Transact 2019.1 or above, a large batch class fails to import in the Batch Class Management screen when your Ephesoft Transact environment is set up as the following:

  • HAProxy server (Open source software that provides a high availability load balancer and proxy server for TCP and HTTP-based applications that spreads requests across multiple servers).
  • Use Haproxy feature to redirect to Ephesoft Transact’s Apache 2.x port 443.
  • Ephesoft Transact application server is integrating with the WSO2 server for Single Sign On Authentication.
  • The WSO2 server is redirect to the Ephesoft Transact Apache2.x port 443 after Authentication activity.

This error occurs when the limitation of Apache’s body timeout for RequestReadTimeout is too short.

The following error displays in the DCMA-ALL INFO log:

2019.1 Windows Server 2012 R2 2020-01-27T20:52:10,206 ERROR ajp-nio-8009-exec-4 com.ephesoft.gxt.admin.server.ImportBatchClassUploadServlet - Unable to read the form contents.org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. null

org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. null

     at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:351) ~[commons-fileupload-1.3.3.jar:1.3.3]

     at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:115) ~[commons-fileupload-1.3.3.jar:1.3.3]

     at com.ephesoft.gxt.admin.server.ImportBatchClassUploadServlet.attachFile(ImportBatchClassUploadServlet.java:86) [gxt-admin_EEN-20725_Generic_2019.1.jar:?]

Solution:

  1. Navigate to the following folder: [Ephesoft Installed path]:\Ephesoft\Apache24\conf
  2. Open the conf file in a code editor like Notepad++.

Note: Back up the original file before any changes.

  1. Locate the following RequestReadTimeout variable for body header:
    RequestReadTimeout header=20-40,MinRate=500 body=20-40,MinRate=500
  2. Edit the RequestReadTimeout variable to the following:
    RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
  3. Restart Apache.