Biztalk 映射到两个具有相同根的 XML

Biztalk mapping to two XMLs with identical roots

我需要将入站 XML 转换并拆分为两个出站 XML。其中一个是 SKU(包含大约 100 个元素),另一个是 SUPPLIERSKU(包含大约 8 个元素)。

接收端程序需要文件的方式意味着它们具有非常相似的结构,以 dcsmergedata 作为根。但是让两个模式都正确意味着它们都具有相同的根并且意味着在创建映射时,只有一个模式最终被使用了两次。

我通过更改其中一个架构以将 dcsmergedata2 作为其根来规避此问题,这解决了映射中的问题,但这意味着我的 XML 无法被接收程序读取,因为它不不要遵循架构。

解决此问题的最佳方法是什么?

我建议使用两个不同的发送端口订阅同一条消息。此外,而是将映射逻辑拆分为两个不同的映射,映射到两个不同的目标模式,以保持简单和可维护。

您可以创建 2 个映射,它们都从 schema1 映射到 schema2。这没什么问题。您不必更改 tgt 架构的 namespace/root 元素。只要这两个映射绑定到不同的发送端口,两个映射都可以工作。