由于意外错误,Access Manager WebSEAL无法完成您的请求。

时间:2018-04-04 15:44:22

标签: server websphere webseal

我使用的服务器:Websphere

我正在尝试上传电子表格。 java代码逻辑使用org.apache.poi.ss.usermodel,我从excel获取一个工作表,然后遍历这些行。

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

我在每个单元格上都有验证逻辑。然后我调用数据库来存储所有值。

当电子表格尺寸很小时,这很有效。但是,当它很大(超过1000个记录)时,我得到以下错误:

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. 

1 个答案:

答案 0 :(得分:2)

我怀疑响应时间比WebSEAL的http-timeout(或https-timeout)长。版本9的默认值似乎是120秒:

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

如果您可以增加该值,即使只是针对您的特定联结,这可能是您的选择。

但是,如果处理时间越来越长,对于较大的文件,您可能需要考虑更改编程模型。快速接受文件,异步进行验证,然后得到一个"结果"页面/网址,您可以在其中看到完成状态。

这就是我们针对非常类似的情况所做的事情,上传电子表格并验证它。在我们的例子中,我们使用了MDB,因为这是几年前的Java EE标准方法。今天,我们可能会改用ExecutorService

如果该选项不可接受或没有吸引力,那么可能能够实现一些定期将数据位写回响应流的内容。但我不知道这是否会阻止WebSEAL连接超时。