如何仅映射我的包含列表,但不在BizTalk Mapping中的排除列表中?但他们分享同样的第一个输入?

问题描述 投票:0回答:2

我想阻止某些消息不通过映射和scriptoid。但我也想只留下某些信息。

例如,我想阻止名字为“John”与“Doe”连接的人,所以结果是“JohnDoe”,但在我的包含列表中,如果名字是“John”,我希望映射完成。

所以映射如下:

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

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

但是我有很多需要阻止的名字,所以我不能手动输入JohnDoe。我使用excel spreadhsheet来表示我想要阻止的名称并通过发送管道过滤它。

我的问题是我无法找到执行此映射的逻辑。现在,我正在使用scriptoid并使用所有阻止的名称列表调用我创建的电子表格的名称。但它似乎没有奏效。有人有什么想法吗?

biztalk biztalk-mapper
2个回答
1
投票

就个人而言,我不会以这种方式接近解决方案。在Biztalk地图中埋藏这种逻辑可能要求维护麻烦。

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

如果您必须这样做,您将不得不提供一些错误消息和您的问题的一些细节。


0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.