如何在BizTalk映射中仅映射我的包含列表而不映射我的排除列表?但是他们共享相同的第一个输入吗?

时间:2019-02-14 05:46:39

标签: biztalk biztalk-mapper

我想阻止某些消息不通过映射和scriptoid通过。但是我也只想允许某些消息。

例如,我想阻止一个名字为“ John”并与“ Doe”串联的人,因此结果为“ JohnDoe”,但是在我的包含列表中,如果名字为“约翰”。

因此映射如下:

如果(名字+姓氏)=“ JohnDoe” ---->不映射到“参与者”

如果(名字)=“ John” --->映射到“参与者”

但是我有很多名字需要屏蔽,所以我不能只手动输入JohnDoe。我改为使用excel电子表格来表示要屏蔽的名称,并通过发送管道对其进行过滤。

我的问题是我找不到执行此映射的逻辑。现在,我正在使用脚本脚本,并使用所有阻止的名称列表调用我创建的电子表格的名称。但这似乎不起作用。有人有什么想法吗?

2 个答案:

答案 0 :(得分:1)

就我个人而言,我不会以这种方式解决问题。将这种逻辑掩埋在Biztalk映射中可能是要求维护麻烦。

我将考虑对其进行重构,并可能将地图的右侧指向处理名称排除的处理程序(如Web服务等),然后让其输出结果消息并带有所需的数据。让地图加载数据电子表格并不理想。

如果必须这样做,则必须提供一些错误消息和问题的详细信息。

答案 1 :(得分:0)

  

我正在使用脚本脚本并调用电子表格的名称

您绝对不想这样做。这只是非常不理想的设计,难以支持。

地图应该转换数据,并且应该在流程的另一步骤中应用“过滤器”,例如在业务流程中,您可以使用业务规则引擎定义过滤器规则。