WebI报表执行60分钟后触发HTTP 500会话失效错误求助
WebI报表执行60分钟触发HTTP 500错误(Session已失效)的解决方案
问题概述
WebI报表执行满60分钟时,触发HTTP Status 500 - 内部错误,错误信息如下:
setAttribute: Session […] has already been invalidated (Error: INF )
已尝试将session-timeout调整为120分钟,修改了以下配置文件并按「停止Tomcat→重启SIA→启动Tomcat」步骤重启服务,但问题未解决:
- Tomcat全局配置:
...\tomcat\conf\web.xml - InfoViewApp应用配置(XI 3.x):
...\tomcat\webapps\InfoViewApp\WEB-INF\web.xml
可行解决方案
1. 调整BOE服务器端会话超时配置
BO XI 3.x的Web Intelligence服务自身存在会话超时限制,需在CMC中修改:
- 登录Central Management Console (CMC)
- 进入「应用程序」→「Web Intelligence」
- 右键点击「Web Intelligence Processing Server」,选择「属性」
- 找到「空闲会话超时」参数,将默认的60分钟修改为120分钟
- 保存设置后重启Web Intelligence Processing Server服务
2. 修改Tomcat Connector超时参数
Tomcat的连接超时设置可能先于session超时生效,需调整server.xml:
- 打开Tomcat安装目录下的
conf/server.xml - 定位到HTTP Connector节点(示例:
<Connector port="8080" protocol="HTTP/1.1" ...>) - 添加或更新以下参数:
connectionTimeout="7200000" <!-- 120分钟,单位毫秒 --> keepAliveTimeout="7200000" - 保存后重启Tomcat服务
3. 检查WebI报表最大处理时间限制
WebI对单报表的最长执行时间有单独配置:
- 在CMC中进入「应用程序」→「Web Intelligence」
- 打开「Web Intelligence Processing Server」的属性面板
- 找到「最大报表处理时间」参数,确保其值≥120分钟
- 调整后重启对应服务
4. 确认应用级Session配置有效性
确保InfoViewApp的web.xml配置未被覆盖:
- 打开
...\tomcat\webapps\InfoViewApp\WEB-INF\web.xml - 确认
<session-config>节点下的<session-timeout>值为120,且未被注释 - 检查是否存在自定义Session过滤器,这类组件可能强制触发会话失效
5. 排查负载均衡/反向代理超时设置
若环境中有负载均衡器或反向代理(如Apache、Nginx),需同步调整其超时参数:
- 查看负载均衡器的连接超时配置,确保设置≥120分钟
- 若使用Apache反向代理,在
ProxyPass和ProxyPassReverse配置中添加timeout=7200(7200秒=120分钟)
内容的提问来源于stack exchange,提问作者user17091081
相关产品推荐
相关产品推荐

