问题标签 [biztalk-mapper]

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 投票
2 回答
732 浏览

thread-safety - BizTalk 映射器和 [ThreadStatic] 属性

我最近遇到了 BizTalk Mapper 的多线程特性以及它如何处理外部程序集的问题。

正如 MSDN 的引用所表明的那样:

重要 任何编写在外部程序集中用于脚本 functoid 的代码都需要是线程安全的。这是必需的,因为地图的多个实例可以在运行时在压力条件下使用这些 .NET 实例。

Mapper 将重用外部程序集的实例。

在我的团队使用的实用程序程序集中,我们有以下代码:

这导致来自一个文件的存储引用被映射到不同的文件。

我(似乎)通过用[ThreadStatic]

我的问题是 - 有人知道 BizTalk Mapper 中的任何问题吗?我知道[ThreadStatic]由于线程被重用,例如在 Asp.Net 中使用存在问题,但找不到有关 BizTalk 映射器处理线程的方式的文档。

0 投票
1 回答
917 浏览

xml - BizTalk 映射错误地解析输入 XML

我遇到了一种情况,即我的 BizTalk 地图没有正确地从输入 XML 中提取数据。

输入架构如下所示:

序列

XSD 上的所有 3 个节点的最小值为 0,最大值为无界。

所以这是一个示例输入文件片段:

现在我的地图获取这些数据并调用存储过程将数据插入表中。对于 1 的 A 和 2 的 A,我在字段 B 中得到“hi”。这是不正确的。

我将问题追溯到地图。生成的 XSLT 在 A 上执行一次 foreach,然后去抓取值 B,但总是抓取第一个 B。

所以有人有任何修改输入模式或地图以使其正常工作的提示吗?

0 投票
1 回答
1028 浏览

biztalk - 映射期间自动截断为 MaxLength

我有一个架构,它的所有元素都设置了最大长度属性,大小不一。我正在映射到它,并希望经常超过最大长度。

有没有办法告诉 BizTalk 自动截断而不必进入并为每个元素手动配置一个 functoid?

除了验证之外,最大长度属性还有其他用途吗?

0 投票
3 回答
1116 浏览

xml - Biztalk maps:将不同的节点分组到一个列表中

有没有办法在 BT 映射器中实现以下转换?如果没有,有什么聪明的主意吗?

到:

我必须在节点列表中聚合一些元素。

提前致谢。

0 投票
3 回答
2096 浏览

biztalk - Biztalk 映射器:如何检测不在 xml 中的节点

我想知道如何检测源中不存在节点。我已经用逻辑 functoid 尝试了数百种方法,但都没有成功。

这个页面的第三种情况是我要找的: http ://danshultz.blogspot.com/2007/08/logical-existence-isnil-empty-string.html

提前致谢。

0 投票
1 回答
774 浏览

biztalk - 使用中间函数的 BizTalk Script Functoid

我是 BizTalk 的新手,正在寻找如何在脚本 functoid 中使用 vb.net mid 函数的示例。

0 投票
1 回答
1330 浏览

biztalk - BizTalk xml 文件转换为平面文件格式

BizTalk 相对较新;我可以使用经验丰富的帮助。

我不得不尝试将源 XML 文档映射到平面文件 TAB 分隔的目标。我的源文档有一些嵌套节点,我需要遍历它们并将它们每个转换为平面文件文档上的一行;经典的销售订单抬头/明细关系。结果需要我为子节点中的每个嵌套元素重复标题信息。

我尝试过使用循环 functoid 的解决方案,但我不确定如何正确表示目标列表。我错过了显而易见的事情吗?我应该将我的“循环”输出参数链接到哪个目标行元素?

为了演示,这是我正在使用的模式的示例。

SOURCE SCHEMA(不能修改源结构)

  • 架构\
  • 销售订单\
  • 销售订单\订单\
  • 订单\固体
  • 订单\客户名称
  • 订单\地址
  • 订单\详情\
  • 订单\详细信息\msrp
  • 订单\详情\型号
  • 订单\详情\sku

目标模式

  • 架构\
  • \根\
  • 固体
  • 客户名
  • 地址
  • ETC...

平面文件输出(每个详细项目一行)

  • soid 客户名称地址 msrp modelno sku
  • soid 客户名称地址 msrp modelno sku

任何人都可以为我指明正确的方向吗?

0 投票
1 回答
72 浏览

biztalk - BizTalk 映射

我需要将输入 XML 转换为输出,如下所示

输入

做这个的最好方式是什么?

0 投票
2 回答
2127 浏览

biztalk - 如何在不替换地图的情况下替换地图中的多部分消息模式

我有一个编排映射,将两条源消息映射到一条目标消息。当源消息之一的架构发生更改时,我希望能够单击输入消息部分并选择“替换架构”以刷新仅受影响消息部分的架构。相反,我只能用单个消息部分模式替换整个多部分消息模式。

替代文字

我唯一的其他选择似乎是从编排变换形状生成新地图,但这意味着我必须重新创建地图中的所有链接......

有谁知道更新这种模式的更有效方法?

0 投票
2 回答
663 浏览

biztalk - Biztalk 映射器更改节点顺序

我需要将文档 X 映射到文档 Y,两者都非常相似。X 具有以下 [片段] XSD:

Y 具有相同的元素(A、B、C),但它们不在序列中。

当我使用以下输入测试地图时,出现了我的问题:

我得到这样的东西:

我不明白为什么会发生这种情况,因为我只是将每个元素与其对应的对映射到另一个架构上。

编辑:我尝试将属性PreserveSequenceOrder设置为“是”,但这没有奏效