0

Server I use : Websphere

I am trying to upload a spreadsheet. The java code logic uses org.apache.poi.ss.usermodel where I get a sheet from excel and I iterate through the rows.

 Sheet sheet = wb.getSheetAt(0);
 Iterator rows = sheet.rowIterator();

I have validation logic on every cell. Then I call the database to store all the values.

This works well when the spreadsheet size is small. However, when it is big (more than 1000s of records) then I get the below error :

Server Error

Access Manager WebSEAL could not complete your request due to an unexpected error. 

Diagnostic Information

Method: POST

URL: /acx/myApp/xlImport

Error Code: 0x38cf04d3

Error Text: DPWWA1235E Could not read the response status line sent by a third-party server. Possible causes: non-spec HTTP headers, connection timeout, no data returned. This is not a problem with the WebSEAL server. 

Solution
 Provide your System Administrator with the above information to assist in troubleshooting the problem. 
Gouri Yashodhan
  • 81
  • 1
  • 1
  • 8

1 Answers1

2

I suspect the response time is longer than WebSEAL's http-timeout (or https-timeout). The default, on version 9, seems to be 120 seconds:

https://www.ibm.com/support/knowledgecenter/SSPREK_9.0.0/com.ibm.isam.doc/wrp_config/reference/ref_other_wb_timeout.html

If you can get that value increased, even just for your specific junction, that might be an option for you.

However, if the processing can go even longer and longer, for larger files, you might need to consider changing your programming model. Accept the file quickly, do the validation asynchronously, then have a "results" page/URL where you can see the completion status later.

This is what we did for a very similar scenario, uploading a spreadsheet and validating it. In our case, we used an MDB, as that was a Java EE standard approach years ago. Today, we might use an ExecutorService instead.

If that option isn't acceptable or attractive, you might be able to implement something that periodically writes bits of data back to the response stream as you go. But I don't know whether or not that will keep the WebSEAL connection from timing out.

dbreaux
  • 4,982
  • 1
  • 25
  • 64