Biztalk异常处理解决方案

 

(1)为什么要对Biztalk进行异常处理设计

1、方便抓取错误的XML进行分析

2、解决普通orchestration中错误消息挂起导致biztalk性能的问题

(2)Biztalk处理异常的机制

 首先针对Biztalk中的异常处理的思路,物理接收端口收到消息后通过管道拆分映射后,再进入到orchestration在orchestration中的消息通过发送端口(单向或者双向)发送消息,需要在orchestration获得发送消息是否有正常的回应,如果回应正常,则流程正常执行,如果回应不正常,orchestration进行异常处理。(详细请见Biztalk帮助文档)

(3)异常处理部署方法:

    条件:1、开启发送端口的“Enable routing for failed Message”(可以在相应出错的端口进行设置)

wKiom1cPBMKxCgMFAAArtkaedYo302.png

        2、在orchestration中的逻辑端口(发送或者接受)上开启Delivery Notification为trasmitted

        3、在相应的端口进行添加SCOPE图形(如下图)

wKioL1cPBayALz0JAACH_bQ2xsg900.png

                         (图1,未添加SCOPE图形)

 

4;添加完SCOPE后右键最下边括号,新建ExceptionHandler的捕获异常类型设置为DeliveryFailureException类型

wKiom1cPBSXDYs6vAAArhN6TMqM929.png

5;添加表达式

wKioL1cPBfHR2LdrAADD3oMhfjY667.png

6:至此完成Biztalk异常捕获的orchestration设计