反汇编入站批处理

取消入站消息

SWIFT 反汇编程序能够入站拆解,在其中处理或反汇编入站批处理 (文件或包含多个 SWIFT 消息的消息) 。 使用同名的 SWIFT 反汇编程序配置属性启用入站拆碎。 启用入站取消批处理后,SWIFT 反汇编程序期望它接收的所有消息都是包含多个 SWIFT 消息的批处理。 批可能包含也可能不包含批处理信封 (批标头和批处理预告片) ,批中的每个 SWIFT 消息可能包括也可能不包含消息信封 (消息头和消息尾) 。 可以使用以下 SWIFT 反汇编程序配置属性) (格式配置这些批处理属性:

  • Batch 标头架构

  • Batch 尾部架构

  • 消息头架构

  • 消息预告片架构

    注意

    将这些属性中的任何一个设置为“None”表示入站批处理不包括该特定部分。

    SWIFT 反汇编程序要求所有入站批处理具有以下结构:

    Batch 标头

    邮件头

    SWIFT 交换/消息 (SWIFT 块 1 到 5)

    消息预告片

    Batch 尾部

    在此结构中,可以将“消息块”视为 消息头 - SWIFT 交换 - 消息预告片 部分。 一系列多个“消息块”组成一批中的多个 SWIFT 消息。 批处理标头、消息头、消息尾部和 Batch 尾部是可选的,但必须在重复之间保持一致。

注意

不要将邮件信封 (消息头和消息尾) 与 SWIFT 标头和尾部块混淆。 在批处理上下文中,应将 SWIFT 消息 (交换) (包括 SWIFT 标头和尾部块)查看为整体 (原子) 单元。 在此上下文中,“消息头”和“消息尾部”是指将每封 SWIFT 消息包装成批的信封。

若要更正式地表达此结构、其选项及其可重复性,请考虑A4SWIFT如何定义批处理:

  • Batch 标头BH 表示

  • 消息标头MH 表示

  • SWIFT 交换SI 表示

  • 消息预告片MT 表示

  • Batch TrailerBT 表示。

    表示预期批处理结构的表达式如下所示:

    [BH] ([MH] SI [MT])* [BT]

    括号 ( [ ] ) 表示部件是可选的。 星号 (*) 表示块可重复。 生成消息批处理的人员必须在每次重复 ( () 中一致地使用 MH) 和预告片 (MT [MH] SI [MT]) 消息头。

    SWIFT 反汇编程序能够处理遵循上述结构的任何入站批处理,因为结构中的每个部分都符合平面文件架构。 但是,如果不使用可选的批处理标头/尾部和消息标头/尾部,则消息将不符合这些架构。 因此,仅包含连续 SWIFT 消息的批处理会将 Batch 标头架构、Batch 尾部架构、消息头架构和消息预告片架构属性设置为“None”。

自定义用于批处理的架构

可以自定义批处理标头/尾部和消息标头/尾部的架构。 下面是一个示例:

4  
SWIFT Message # 1  
$  
SWIFT Message # 2  
$  
SWIFT Message # 3  
$  
SWIFT Message # 4  
$  

若要处理此类批处理,应设置批处理的架构属性,如下所示:

  • 将 Batch 标头架构属性设置为平面文件架构,该架构分析单个数字 (消息计数) 由回车符分隔。

  • 将消息预告片架构设置为分析单个 $ 符号和回车符的平面文件架构。

  • 将其余信封架构 (Batch 尾部架构和消息头架构) 设置为“无”。

    可以通过创建和指定平面文件信封架构的适当组合来配置 SWIFT 反汇编程序,使其处理几乎所有 SWIFT 消息批。 此功能非常灵活。

    SWIFT 反汇编程序始终尝试完成整个批处理的处理,即使它在此过程中遇到错误。 这使它可以一次收集和报告尽可能多的错误。 若要执行这种“尽力而为”的启发式操作,SWIFT 反汇编程序必须在遇到新部件时或发生分析错误时选择要使用的架构时做出某些决策和假设。 根据分析错误的性质和位置以及信封架构与 SWIFT 交换架构之间的歧义/相似性,选择正确的架构并非始终可行。 在某些情况下,可以通过使用设计良好的信封架构来最大程度地降低选择错误架构的可能性。 如果反汇编程序遇到致命分析错误或反汇编程序无法确定正确的架构,则反汇编程序将在不处理剩余数据的情况下使批处理失败。

    启用 入站取消批处理 (设置为True) 时,SWIFT 反汇编程序使用为批处理信封指定的架构 (Batch 标头架构和 Batch 尾部架构) 和消息信封 (消息头架构和消息尾部架构) ,以及为分析批处理中) 的 SWIFT 消息 (交换而指定的架构来分析批处理。 对于批处理中的 SWIFT 消息,可以通过指定 SWIFT 标头架构) ,以与 (单个非批处理消息相同的方式动态发现和加载消息类型和架构。 有关 SWIFT 反汇编器如何执行架构解析的详细信息,请参阅 动态消息类型发现和架构解析

    SWIFT 反汇编程序单独分析和验证入站批处理中的每个 SWIFT 消息。 它执行以下批处理顺序:

  1. 如果已指定 Batch 标头架构,则分析批处理标头。

  2. 如果指定了消息头架构,则分析邮件信封头。

  3. 分析 SWIFT 交换 (消息) 。

  4. 如果已启用 XML 验证,则针对 XML 约束验证 SWIFT 消息。

  5. 如果启用了 BRE 验证,则根据 SWIFT 网络和使用规则) (BRE 策略验证 SWIFT 消息。

  6. 如果指定了消息尾部架构,则分析消息信封尾部。

  7. 重复步骤 2 到 6,直到反汇编程序在批处理中找不到任何消息。

  8. 如果已指定 Batch 尾部架构,则分析批处理预告片。

    可以将 SWIFT 反汇编程序配置为使用它使用以下 SWIFT 反汇编程序配置属性分析和验证的批处理数据执行不同的操作:

  • Fragmentation 属性确定 SWIFT 反汇编程序是否应单独 (将批中的每个消息发布到 MessageBox 数据库,即,在上述步骤 6 每次出现) 之后,还是应该完成所有步骤 1 到 8,然后以本机形式发布整个批次, (输入) 的确切副本, 作为发送到 MessageBox 数据库的单个消息。 将 Fragmentation 设置为 True 以启用碎片化并单独发布来自批处理的消息。 将 Fragmentation 设置为 False 以禁用碎片,并在处理整个批处理后以本机形式将整个批处理发布为单个消息。 通常,如果只需要 BizTalk Accelerator for SWIFT (A4SWIFT) 即可分析和验证入站批,并且失败或转发,其形式与A4SWIFT接收的批相同,则通常将“ 碎片 ”设置为“ 已禁用”。 如果希望A4SWIFT在分析和验证后转换或修改批中的消息,或者希望A4SWIFT将批处理中的消息重新排序为不同于最初接收A4SWIFT顺序时,通常会将 “碎片 ”设置为 “已启用 ”。 对于入站批处理包含具有不同最终目标的消息的情况,还可以将 “碎片 ”设置为 “启用 ”。

  • Preserve Batch Header/Preserve Batch Trailer 属性确定 SWIFT 反汇编程序在分析数据后应放弃或保留批处理信封 (标头和尾部) 数据。 如果将 “保留 Batch 标头”或“保留 Batch 尾部” 设置为 “True”,反汇编程序会将相应的批处理部件 (分析的 XML) 作为单个消息发布到 MessageBox 数据库。 反汇编程序将数据发布到多部分消息的正文部分。 反汇编程序提升特殊的上下文属性,以便BizTalk Server可以将这些消息关联到它们来自的批,以及它们位于批处理中的序号位置 (批处理标头的第一个位置、批处理预告片) 的最后一个位置。 如果将 “保留批处理标头”或“保留 Batch 尾部” 设置为 “False”,则反汇编程序在分析后 () 放弃相应的批处理部件。

    注意

    这些配置属性仅在启用碎片 (设置为True) 时才有效。 禁用碎片时,反汇编程序会以本机形式将整个批的确切副本发布到 MessageBox 数据库,因此保留设置不相关, (所有内容都 保留) 。

  • 保留消息头 / 保留消息预告片属性确定 SWIFT 反汇编程序在分析邮件头和预告片后) 丢弃或保留邮件信封 (。 如果将 “保留消息头”或“保留消息尾部” 设置为 True,反汇编程序会将相应的批处理部件 (分析的 XML) 发布到 MessageBox 数据库 ,以及它包装的单个 SWIFT 消息。 反汇编程序在多部分消息的 标头 部分中发布消息信封标头。 反汇编程序在多部分消息的 预告片 部分发布消息信封尾部。 反汇编程序将消息信封中包含的 SWIFT 消息发布到同一多部分消息的 正文 部分。 反汇编程序提升特殊的上下文属性,以便BizTalk Server可以将这些消息与其来自的批以及它们位于批中的序号位置相关联。 如果将 “保留消息头”或“保留消息尾部” 设置为 False,则反汇编程序在分析后 () 放弃相应的批处理部分。

    注意

    这些配置属性仅在启用碎片 (设置为True) 时才有效。 禁用碎片时,反汇编程序会以本机形式将整个批的确切副本发布到 MessageBox 数据库,因此保留设置不相关, (所有内容都 保留) 。

    有关每个配置属性以及其他用法和配置信息的详细信息,请参阅 SWIFT 反汇编程序配置属性。 有关 MessageBox 数据库发布和多部分消息的详细信息,请参阅BizTalk Server帮助。

后续步骤

与批处理相关的已提升属性