【问题标题】:Message not being picked up from onRamp WCF type send port in BizTalk未从 BizTalk 中的 onRamp WCF 类型发送端口接收消息
【发布时间】:2017-05-17 08:03:19
【问题描述】:

我的应用程序中有一个编排,它从 MSMQ 接收 XML 消息作为输入,对其进行处理,然后最终将其发送到 OnRamp WCF 发送端口。现在 OnRamp 端口已经设置了以下配置 -

我的要求是,当业务流程向此端口发送 XML(作为最终输出)时,这些消息必须由其他业务流程选择,这在我的情况下不会发生。所有消息都卡在此端口中。请帮我解决这个问题。

谢谢!

【问题讨论】:

    标签: wcf biztalk biztalk-orchestrations send-port


    【解决方案1】:

    为什么路由到物理发送端口的消息会被另一个编排拾取?

    如果这是您想要的行为,我认为 WCF 发送端口不是正确的方法。如果您希望一个业务流程发布的消息激活另一个业务流程,请使用 Direct-bound 端口,该端口会将这些消息直接写入消息框。然后在您确定将匹配已发布消息的第二个业务流程的激活接收形状上设置适当的订阅。

    Working with Direct Bound Ports in Orchestrations

    【讨论】:

      【解决方案2】:

      所以我从您的问题中了解到,您需要从第一个编排中调用另一个编排。并且可能您正在使用 ESB 工具包(通常我们将术语 offRamp 和 onRamp 与工具包一起使用)。

      ESB 工具包方式:

      我建议使用行程和编排扩展器来路由消息。在内部,它仅使用 DirectBound 端口funda。 Here 就是一个例子。

      没有 ESB 工具包:

      Tom W 的建议是正确的。但是请确保当您在第二个业务流程的直接绑定端口创建订阅时,过滤器表达式使用的上下文属性必须是唯一的,否则如果过滤器表达式是通用的并且匹配多个订阅者,那么每个订阅者将选择一个消息副本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-20
        • 2019-08-29
        • 1970-01-01
        • 2012-05-29
        相关资源
        最近更新 更多