如果由我的业务流程中较早的发送端口处理,我如何在发送端口上设置一个过滤器,该过滤器将不处理消息?

How can I set a filter on send port that will not process the message if handled by an earlier send port in my orchestration?

我有一个编排,它在满足条件时创建一条新消息,将新消息发送到发送端口,然后将原始消息发送到丢弃文件夹。这工作正常。如果不满足条件,它只是回收消息并将其发送回去。现在,无论我设置什么过滤器,它都会进入丢弃文件夹。这是编排。任何人都知道我如何做到这一点。丢弃文件夹很快就会变满。

我所有的过滤和端口信息都是在 Biztalk 管理服务器上设置的。这就是我需要实现的目标。一条消息进来了。它根据数据库进行处理。数据库请求 returns 一个空集。在这种情况下,我想暂停编排,然后将消息发送到发送文件夹。它有一个将邮件移动到接收文件夹的过程,然后再次处理邮件。如果数据库 returns 数据,则处理数据,然后使用新参数创建新消息,然后发送到发送文件夹并移动到接收文件夹。

原始邮件被发送到丢弃文件夹。带有新参数的新消息再次处理,每次更新参数并再次获取运行,直到returns没有数据。然后在一条新消息中重置它,整个过程重新开始。

同一类型有不同的消息。每次调用数据库,都要有相应的消息。

首先,设置将操作名称和逻辑发送端口从 Operation_1 更改为有意义且唯一的内容。

在发送端口上,添加过滤器 BTS.Operation = <operation name>