【问题标题】:How to Call BizTalk Orchestration Dynamically如何动态调用 BizTalk 编排
【发布时间】:2008-09-16 13:36:20
【问题描述】:

如何在知道业务流程名称的情况下动态调用 BizTalk 业务流程?

调用Orchestration 形状需要在设计时知道Orchestration 的名称和参数。我尝试过使用 'call' XLang 关键字,但它还需要编排名称作为设计时间,就像表达式形状一样,我们可以写成

call BizTalkApplication1.Orchestration1(param1,param2);

我正在寻找某种方式来指定调用编排名称,来自传入消息或来自 SSO 配置存储。

编辑:我正在考虑 BizTalk 2006 R1(ESB 指南适用于 R2,我不知道它如何解决我的问题)

【问题讨论】:

    标签: biztalk biztalk-2006


    【解决方案1】:

    我过去完成类似事情的方式是在编排中使用直接绑定端口,并让 MsgBox 为我完成繁琐的工作。基本上,它是这样的:

    1. 使可调用编排使用附加到您的激活接收形状的直接绑定端口。
    2. 使用基于上下文的自定义属性在激活的接收形状上设置过滤器表达式,并将其设置为唯一标识编排的值(例如编排名称或其他)
    3. 在调用业务流程中,创建您要用于触发新业务流程的消息。在该消息中,将您的自定义上下文属性设置为与您要触发的特定编排中使用的过滤器相匹配的值。
    4. 通过直接绑定的发送端口发送消息,以便将消息直接发送到 MsgBox,然后 BizTalk 中的 Pub/Sub 机制将负责其余的工作。

    第 4 步中需要注意的一件事:要让这项工作正常工作,您需要创建一个包含自定义上下文属性的新关联集类型,然后确保直接绑定的发送端口“遵循”发送时设置的相关性。否则,自定义属性只会被写入(而不是提升)到 msg 上下文,并且路由将失败。

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      查看 ESB 指南 (www.codeplex.com/esb) 这个包提供了您正在寻找的功能

      【讨论】:

        猜你喜欢
        • 2018-09-30
        • 1970-01-01
        • 2016-08-10
        • 2011-08-17
        • 1970-01-01
        • 2021-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多