尝试在邮件进行编排之前将邮件捕获到文本或xml文件中

时间:2015-08-17 22:24:05

标签: biztalk biztalk-2013

我正在解决传出消息中缺少两个XML元素的问题。

我有以下相对简单的业务流程:

Receive Port  -> Orchestration -> Send Port (IBM MQ)

我希望在消息通过业务流程之前检查消息,以查看传入消息是否有问题。为此,我创建了一个额外的发送端口,其中FILE类型传输(我称之为DefectTroubleshootingSendPort),PassThruTransmit用于发送管道。

此端口的URI是: C:\temp\Defect986\%MessageID%.xml

我将此发送端口的过滤器设置为

BTS.ReceivePortName == "OrderManagement.MembershipActivityExport.ReceivePort"

我将此新端口和原始MQ发送端口添加到发送端口组,并将此组绑定到业务流程的出站逻辑端口。

即使在此之后,我也没有看到临时文件被写入。然而消息传递给MQ。

我这样做是对的,还是有更好的方法来捕获收到的消息?我在这里甚至需要过滤器吗?

2 个答案:

答案 0 :(得分:2)

您可以简单地停止编排,但保持其入伍。当收到消息时,业务流程实例将生成但处于Suspended(可恢复)状态,允许您查看其消息。

答案 1 :(得分:1)

允许你做你想做的事:

  • 启用对传入接收端口的跟踪。您可能希望使用XmlReceive,因为默认情况下可能未启用PassThruReceive管道跟踪。
  • 启用后,请检查Tracked Message Events中心页面,查看已跟踪的属性。您可以找到接收端口名称/属性是否已写入消息(重要!)(如果已提升)。

如果提升了接收端口属性,请检查过滤器是否正确。我认为你的过滤器是不正确的。