如何在IBM Sterling Integrator中接收AS2文件时触发业务流程(BP)
解决Sterling Integrator中AS2接收触发业务流程的问题
一、正确配置AS2接收触发BP的步骤
- 确认AS2伙伴配置:
进入AS2 Partner Manager,找到目标伙伴,核对AS2 Identifier、MDN设置与伙伴侧完全一致,确保AS2接收端口(默认AS2_HTTP或自定义端口)处于启用状态。 - 创建AS2路由规则:
进入Business Process Manager > Document Routing > Routing Rules,新建规则:- 规则类型选
AS2,设置匹配条件:比如AS2 From Partner等于目标伙伴的标识符(大小写敏感),也可根据需求用AS2 Message ID等字段匹配。 - 动作选择
Launch Business Process,指定要触发的BP名称,必须确保BP处于激活(Active)状态。
- 规则类型选
- 关联监听器与路由规则:
进入Communication > Listeners > HTTP Listeners,找到AS2对应的监听器(如AS2_HTTP_Listener),检查其关联的Document Routing是否包含你创建的规则,也可直接在监听器配置里指定默认路由到该规则。
二、排查之前配置失败的常见原因
- FSA配置无效:FSA是监听文件系统目录的组件,而AS2接收的文件默认存储在SI内部文档库,不会直接落地到本地文件系统,所以用FSA监听无法触发BP,这是方向错误,应放弃FSA方案。
- AS2关联失败的常见坑:
- BP未激活:进入Business Process Manager,确认目标BP的状态为
Active,未激活的BP无法被触发。 - 路由规则条件不匹配:在Dashboard > Message Tracking里查看接收的AS2消息详情,核对
AS2 From等字段值是否与规则里的条件完全一致(大小写、空格都要匹配)。 - 权限不足:运行BP的用户需拥有
Execute Business Process权限,以及访问AS2接收文档的权限,检查用户组权限配置。 - MDN冲突:若伙伴要求同步MDN,确保AS2配置里的MDN处理逻辑不会中断BP触发,比如不要在MDN响应前终止流程。
- BP未激活:进入Business Process Manager,确认目标BP的状态为
三、BP中CLA2执行脚本的注意事项
- CLA2服务配置:
在BP的CLA2服务中,Command Line字段需指定脚本的绝对路径(如/opt/sterling/scripts/rename_move.sh),且脚本需赋予可执行权限(执行chmod +x 脚本路径)。
传递SI内部文档路径时,用%PrimaryDocument%变量获取临时文件路径,示例命令:/opt/sterling/scripts/rename_move.sh %PrimaryDocument% - 脚本逻辑适配:
脚本修改扩展名并移动文件后,需确保SI运行用户(如sterling)对目标移动目录有读写权限;若无需保留SI内部文档,可在BP中添加Delete Document服务清理临时文件。
四、测试验证步骤
- 让AS2伙伴发送测试文件,在Message Tracking中查看消息状态是否为
Processed。 - 若消息状态为
Failed,查看Error Logs里的具体错误信息,定位是路由规则还是BP执行问题。 - 查看BP的Process History,确认是否被触发;若触发后失败,查看BP日志输出,检查CLA2脚本的执行结果。
内容的提问来源于stack exchange,提问作者BlackMamba
相关产品推荐
相关产品推荐

