问题标签 [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.
xml - 如何使用 Biztalk 映射器将数组映射到固定字段
我需要重新映射这样的对象数组:
对于这样的输出:
所以在我的 XSD 架构中,我有这样的东西:
模式输入
模式输出
此外,我必须评估每个值,因为我发现了一些条件,例如 if value=0000 ,其中输出应该为 NULL。
最好的方法是什么?
我正在考虑开发一个自定义 functoid,但我不确定这是否是最好的方法,可能可以使用 XSLT 内联转换来完成,你能指出最好的方向吗?
biztalk - Biztalk 累积 functoid 问题
我们正在将 EDI 315 模式映射到 XML,我在下面有一个要求。
这意味着在一个 ST 和 SE 中,我可以有 N901=TN 和 N901=TN1,这两个值映射到目标模式中的单个字段。我怎样才能做到这一点?
我什至尝试将这两个值映射到 Cumulative functoid,但它返回 Null。
biztalk - 使用 BizTalk Map 从两个输入架构生成叉积
我在 BizTalk 中使用多对一映射来生成输出架构,其中包含使用输入架构节点上的叉积逻辑生成的数据。
下图描述了我已经完成的工作:
示例输入 xml 如下:
所需的输出基于基于 Schema1.ItemCode 和 Schema2.Code 的相等性执行的叉积。样品如下:
实际输出:
- 没有循环仿函数的输出
XML 输出
- 带有两个循环 functoid 连接 1 和 2 的输出
XML 输出
- 单循环 functoid 连接的输出 1
XML 输出
请建议在这种情况下如何进行?
biztalk - 过滤特定值,但如果不存在则使用默认值
我有一个输入模式,其中包含电话号码列表,电话号码类型如下所示:
我只想映射特定类型的数字,比如说“工作”。如果“工作”类型的电话号码不可用,我需要填写默认值。
这就是我的开始:
我遇到的问题是,如果不存在“工作”电话号码,我无法在输出中显示默认值。
biztalk - 如何更改 BizTalk 脚本 functoid 中使用的字体?
我想将脚本 functoid 中使用的字体更改为等宽变体。这应该使内联代码更具可读性。
更改环境字体不会更改 functoid 中使用的字体。可用的 BizTalk 选项仅影响 XSD 节点中使用的字体。
xml - BizTalk XML 将 ITEM 配对到 FLATTEN 输出
请帮助解决这张地图。这里我有带有 HDR、DTL、FTR 的 XML;DTL 具有成对的 ITEM-BANK、ITEM-BANK、ITEM-BANK 详细信息。我需要将其展平以输出一条记录。
业务规则: 1) 如果 ID 元素为空,则为 COMMENT,并且将在 COMMENT 输出 XML 中聚合“Party 的地址 + Party 的邮政编码 + Party 的 Postbus”。2)如果ID是BANK那么它有银行详细信息,并且TAG元素ID有ID值参考上面的ITEM。
XSD POCProducts:http ://pastebin.com/XNaq40vZ
POC 地图:
预期/通缉:
当前输出 XML:
输入 XML:
biztalk - 来自 WCF-SQL 的分批消息的 BizTalk 映射
一天中的好时光。
希望在我们正在解决的 BizTalk 解决方案方面获得一些帮助。
我通过使用 WCF-SQL 向导并选择类型化轮询生成了适配器。它开箱即用。我能够创建一个文件类型的发送端口,我的消息在 XML 批处理中放置。作为下一步,我通过修改生成实体的模式、将其更改为信封并配置叶节点来分批消息。太好了,现在我有一堆文件,每条消息一个位于我的发送端口的文件夹中。现在我正在尝试针对新创建的消息创建一个地图。这就是问题开始的地方。如果我基于 WCF-SQL 向导为我生成的相同架构创建地图,那么我拖动信封 -> 数组 -> 消息的整个结构,这当然与单个消息的结构不匹配,并且地图不工作。如果我要创建一个新架构,
我在想也许我可以完成以下任务之一:
- 将 WCF-SQL 生成的架构拆分为两部分,信封 + 数组和消息。不确定是否可能。关于这个想法的一些东西让我不太满意。
- 以某种方式更改分批消息的名称空间。不知道如何实现。
欢迎任何想法。谢谢!
biztalk - Biztalk 杰出领域问题
我在 biztalk 中传递一条消息,导致以下挂起消息:
内部异常:根据消息部分数据评估可区分字段 MessageStatus 时发生故障。消息部分数据至少不包含由 XPath 表达式(如下所列)指定的对应于可区分字段的节点之一。出现这个错误的原因可能是消息部分数据没有初始化或者消息部分数据不符合消息
在我的编排中,我使用了一个映射,该映射将一个名为 textID 的 ID 映射到我构造的消息“MessageAttempt”中的 textID 字段。我还有一个名为 MessageStatus 的字段,其值设置为“Nothing”,不要与 .
在我的地图之后,我使用消息分配形状将 MessageAttempt.MessageStatus 元素设置为“已尝试”,代码如下:
我整天都在想办法解决这个问题。我在编排的不同分支上有一个类似的 ConstructedMessage/Transform/Assignment 形状,设置相同并且工作正常。我不确定我可能会错过什么。
biztalk - 无法在 BizTalk Mapper 中绘制从任何东西到目标架构的连接
我是 BizTalk 的新手,如果我没有使用正确的术语,请原谅我。无论如何,我已经创建了一个包含两个要插入的表的复合模式,它基本上是这样的:
在映射器中,我可以毫无问题地映射任何东西mxstoreloc:Insert
。当我尝试将任何内容映射到mxin:Insert
时,连接不起作用。我拖动这条线,我得到了十字光标(我之前见过有人得到划掉的圆圈光标,我的没有切换到那个),然后当我放手时,这条线消失而不是连接。
我进入架构并创建了第二个mxin:Insert
节点,所以它看起来像这样:
并且由于某种原因允许我建立连接(到任何一个元素),但如果我删除了两者中的任何一个,连接就会消失。
xsd - 使用 BizTalk 映射器将单个重复节点添加到目标架构
我目前正在做一个 BizTalk 项目,我遇到了一个我确信应该可以在映射中解决的问题。但是,我似乎无法弄清楚如何。希望有人可以帮助我。
情况如下:在源模式和目标模式中,都有一个重复节点,其下具有大致相同的子元素(不涉及记录或属性)。源中的重复节点具有如下结构:
而目标中的重复节点看起来更像这样:
我需要映射做的是确保如果有任何可用的水果,则目标中至少有两条记录“水果”可用。这应该通过向目标添加通用水果(如果您愿意,可以考虑一些任意菠萝)来实现,如果源中只有一种水果可用。
作为第一步,我尝试在目标中再添加一个水果节点,但没有这样做。我非常有信心,如果我知道如何做到这一点,我可以通过将其与“计数记录”和“逻辑相等”(=1)functoids 相结合来解决实际问题。
所以问题归结为:如何将单个记录添加到映射内的目标?
我尝试了几个选项(以及这些选项的组合),即:
- 在元素“fruit”或“item”上使用循环functoid,以及一些额外的值映射。
- 直接添加额外的值映射
- 在“item”或“fruit”和“FRUIT”之间添加直接链接,中间有或没有循环functoid。
在大多数情况下,要么我得到一个包含像这样的孩子的结果
(以及相应的错误,因为这不满足模式 - 它不允许多个元素排序),或者一大堆菠萝。这两者都不是所希望的。
谁能帮我吗?