【问题标题】:Biztalk Map, How to execute a scripting functoid ONLY IF the source message contains a specific value?Biztalk Map,仅当源消息包含特定值时如何执行脚本功能?
【发布时间】:2014-10-14 21:39:03
【问题描述】:

在 Biztalk 映射中,如何仅当源消息包含特定值时才执行脚本函数?哪种 functoid 组合可以让我做到这一点?

编辑

我想检查某个元素的特定值。 脚本将是内联 xslt。

响应 40Alpha 第一个建议:这是我想使用的方法,但我无法将脚本 functoid 连接到值映射 functoid。我可能在这里做错了什么?

【问题讨论】:

  • 您能否详细说明specific value...您是否要在消息中的所有节点中搜索特定值,检查特定元素以获取特定值,或者查看特定元素是否存在?
  • 另外,您在当前 functoid、内联 C#、XSLT 等中使用什么类型的脚本?
  • @40Alpha 查看编辑,谢谢

标签: biztalk biztalk-2010 biztalk-2009 biztalk-mapper


【解决方案1】:

两个最简单的选择 (IMO) 是:

我会做的是:

  1. 创建一个 Equal Functoid(第一个条件是“特定元素”,第二个条件是您要检查的文本)
  2. 创建一个值映射 Functoid,首先将 Equal Functoid(您刚刚创建的)连接到它,然后将其连接到您的脚本 functoid。
  3. 现在将您的脚本 functoid 连接到所需的目标元素。

或者更简单的方法是:

在你的脚本functoid中包装你的xslt:

<xsl:if test="/yournode[text()="SomeValue"]">
    <!--YOUR SCRIPTING HERE -->
</xsl:if>

【讨论】:

  • 第一个建议是我想做的,但我似乎无法将脚本函数连接到值映射函数。如果一切都失败了,我会尝试你的第二个建议。请查看我的编辑。
  • 您需要将两个参数传递给值映射functoid(1:true/false -> = functoid 正在执行的操作;2:要传递的值),还有什么是您的脚本功能做什么?你能把它贴到你的问题上吗?请阅读 biztalk 窗口中每个 functoid 的作用(双击 functoid 并阅读打开窗口底部的文本)...它将帮助您了解每个 functoid 中需要哪些参数。最后,请帮助我理解您想要的逻辑,您是否要将某个元素的值(如果存在)传递给脚本函数?
猜你喜欢
  • 2021-03-06
  • 1970-01-01
  • 2021-11-24
  • 2011-06-24
  • 2016-09-14
  • 2014-05-03
  • 1970-01-01
  • 1970-01-01
  • 2020-07-31
相关资源
最近更新 更多