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