症状
请考虑以下情形:
- 在 Microsoft BizTalk Server 上应用 SWIFT 消息包。
- 您尝试处理类型指示器为 21 的服务消息。
在这种情况下,可能会收到以下错误消息:
注意
将失败消息发布到 MessageBox。 详细信息:交换 ID 为 {InterchangeID} 的 S21_FIN_ACKNAK 类型的单个消息已由 SWIFT 反汇编程序在 MessageBox 数据库中标记为 A4SWIFT_Failed=True。
此消息失败,出现 0 个解析错误、1 个 XML 验证错误和 0 个 BRE 验证错误。
通过订阅 A4SWIFT_Failed=True 的消息,可以从 MessageBox 数据库中的失败消息中提取错误详细信息。
原因
出现此问题的原因是消息包的 Microsoft.Solutions.FinancialServices.SWIFT.FrrSchemas.dll 文件中的 MTS21_FIN_ACKNAK.xsd 架构要求消息具有预告片块。 但是,类型指示器为 21 的服务消息没有预告片,并且 SWIFT 用户手册指出预告片块对于此消息类型是可选的。
累积更新信息
解决此问题的修补程序包含在 SWIFT 消息包 2015 的 累积更新 2 中。
状态
Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。