将一个业务流程中的消息用作另一个业务流程的输入

时间:2016-02-01 13:14:44

标签: biztalk biztalk-2013

我在BizTalk应用程序中有2个编排。我想使用一个业务流程的输出作为另一个业务流程的输入。有没有办法可以做到这一点? 可以在另一个业务流程中使用一个业务流程吗?

2 个答案:

答案 0 :(得分:4)

有几种方法可以做到这一点:

  1. 使用Call Orchestration(同步,可以将参数返回给调用者)或Start Orchestration形状(异步,触发和忘记)。任何一个都允许变量参数而不提升属性。
  2. 在Orchestration 2上创建直接绑定接收端口,并在直接绑定发送端口上从Orchestration 1发布消息。这将始终异步工作。传递变量只能使用mutli-part消息或提升属性。
  3. 围绕这个有各种设计考虑因素:

    • 您需要返回参数吗? (使用Call Orchestration)
    • 是否可以从多个源调用Orchestration 2,或者只调用orchestration(或者只有一个编排?)(直接绑定消息传递可能是最好的))
    • 能够将变量参数和消息一起传递给Orchestration 2更有意义吗? (Call / Start Orchestration)您是否已经为这些变量设计了属性架构? (直接绑定)
    • 在继续编排1之前,是否需要执行Orchestration 2才能处理? (Call Orchestration)
    • 您是否需要处理Orchestration 1中Orchestration 2中发生的异常? (调用编排至少可以支持在必要时返回异常对象)

答案 1 :(得分:1)

有一个简单的解决方案是使用第一个业务流程中的发送端口将消息从业务流程传递到另一个,该端口将消息传递给第二个业务流程,该业务流程将通过绑定到第二个业务流程的接收端口接收消息。