我想阻止某些消息不通过映射和scriptoid通过。但是我也只想允许某些消息。
例如,我想阻止一个名字为“ John”并与“ Doe”串联的人,因此结果为“ JohnDoe”,但是在我的包含列表中,如果名字为“约翰”。
因此映射如下:
如果(名字+姓氏)=“ JohnDoe” ---->不映射到“参与者”
如果(名字)=“ John” --->映射到“参与者”
但是我有很多名字需要屏蔽,所以我不能只手动输入JohnDoe。我改为使用excel电子表格来表示要屏蔽的名称,并通过发送管道对其进行过滤。
我的问题是我找不到执行此映射的逻辑。现在,我正在使用脚本脚本,并使用所有阻止的名称列表调用我创建的电子表格的名称。但这似乎不起作用。有人有什么想法吗?
答案 0 :(得分:1)
就我个人而言,我不会以这种方式解决问题。将这种逻辑掩埋在Biztalk映射中可能是要求维护麻烦。
我将考虑对其进行重构,并可能将地图的右侧指向处理名称排除的处理程序(如Web服务等),然后让其输出结果消息并带有所需的数据。让地图加载数据电子表格并不理想。
如果必须这样做,则必须提供一些错误消息和问题的详细信息。
答案 1 :(得分:0)
我正在使用脚本脚本并调用电子表格的名称
您绝对不想这样做。这只是非常不理想的设计,难以支持。
地图应该转换数据,并且应该在流程的另一步骤中应用“过滤器”,例如在业务流程中,您可以使用业务规则引擎定义过滤器规则。