问题标签 [a4swift]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
294 浏览

biztalk - 使用 A4SWIFT 生成 SWIFT FIN MT103 导致空多选项 SWIFT 字段令牌

我们使用 BizTalk 和 A4SWIFT 生成 SWIFT FIN MT 103 消息。

当我们输出到具有多个选项的字段(例如 57a、57b、57c、57d)时,我们应该只有一个输出(我称之为字段标记)。但是,所有可用选项都会输出,无论它们是否应该输出。

考虑字段 57,它可以有选项 57a、57b、57c 和 57d。

在我们的测试中,我们目前限制为 57a 和 57d。

我们有一个来自源 XML 文档/模式的映射,它选择要使用的字段并相应地填充 A4SWIFT 模式。

从内部架构到 A4SWIFT MT103 架构的 BizTalk 映射

(我已经删除了图像中不相关的细节)

在该示例中,我们正在寻找 BIC 的字符串 ("ABCDEFGHXXX") 并为字段 57A 填充 A4SWIFT 端,如果该字段为真。对于名称地址 (57d),我们检查 NameAddress/Line1 字段中的任意字符串,我们知道该字符串将评估为假。

(BIC 是虚构的)

这工作正常,除了我们也得到 57D 的空结果,即使这应该评估为假。

我们需要 57D 不在那里。如果条件 Functoid 返回 False,则值映射 Functoid 似乎仍然会导致结果。

所以我们认为 Functoid 选择是不正确的。我们尝试了逻辑存在、逻辑字符串和字符串相等。

我们如何禁止未选择的字段出现在我们的输出 SWIFT 中?

0 投票
0 回答
676 浏览

biztalk - BizTalk 上的 A4SWIFT:生成有效的 MT103;如何创建 CHK 和 MAC 字段?

我们正在使用 BizTalk 生成有效的 SWIFT 消息(最初是 MT 103)并将其放到端点上。但是,我们正在努力生成有效的消息。

作为其中的一部分,我们认为我们需要澄清我们对 SWIFT FIN MT 103 Trailer 块字段CHKMAC.

首先,这是 BizTalk/A4SWIFT 的责任,还是我们应该生成这些字段?

微软的文档说:

实际的 FIN 接口或 SWIFT 网络会附加尾部。如果 A4SWIFT 收到消息时消息包含尾部,A4SWIFT 会在消息中携带尾部。如果 A4SWIFT 收到消息时消息不包含尾部,A4SWIFT 不会引发错误。与标题一样,所有尾部条目,包括块本身,在 A4SWIFT 中都是可选的。

SWIFT 标头和尾标模式

...但这似乎是在谈论带有{5:}拖车CHKMAC字段的内向 SWIFT。

其次,如果是我们关心的问题,我们如何生成 CHK 和 MAC?

即使我们发现了这一点,在 A4SWIFT MT 103 模式中似乎也有 CHK 的位置......

A4SWIFT MT103 XSD 中 CHK 字段的位置

...但不适用于似乎是某种形式的身份验证令牌的 MAC。

0 投票
0 回答
321 浏览

biztalk - BizTalk 上的 A4SWIFT:生成有效的 MT103;如何理解为什么没有生成消息?

我们正在使用 BizTalk 生成有效的 SWIFT 消息(最初是 MT 103)并将其放到端点上。但是,我们正在努力生成有效的消息。

(类似但不同的问题,在这个 StackOverflow 帖子上。我把这些问题分解了,因为它们在本质上是不同的。)

给定一个填充的 A4SWIFT MT103 模式(命名空间:)http://schemas.microsoft.com/BizTalk/Solutions/FinancialServices/SWIFT/Categroy1/MT103,我们将其通过管道上的 SWIFT 汇编器传递,从中我们得到一条“扁平”的 SWIFT MT 103 消息。

我们收到如下所示的 SWIFT 消息(显然是错误的):

请注意,Block 3 没有正确终止Block 4 没有正确启动

我错过了这些字符:}{4:

Dijkgraaf 要求提供原始 XML。这如下所示(尽可能匿名以匹配示例):

我已经使用其他系统中生成的已知有效 MT 103 消息检查了生成的 MT 103 消息,并且我相信这些详细信息存在并且格式正确。

我怀疑 BizTalk/A4SWIFT 在出现问题并生成一半创建的消息时有点合适。

有什么我想念的吗?我在哪里可以找到与此相关的实际错误,而不仅仅是计数?我可以<UnparsedMessages />根据提升的属性生成并路由错误,但它们不包含任何有用的信息。