【问题标题】:Biztalk multiple continuous calls to webservicesBiztalk 多次连续调用 web 服务
【发布时间】:2014-05-21 10:39:57
【问题描述】:

问题来了: Biztalk 应用程序应该分两步从 webservice 获取数据:

1.请求变更客户端列表GetChangedClients(date)并接收列表格式:

    <clients>
        <client id='C1'>
        <client id='C2'>
        ....
        <client id='CN'>
    </clients>  

2.Biztalk 收到客户列表后,会像每个客户一样发出一个呼叫

getChanges("C1")
getChanges("C2")
    ....
getChanges("CN")

3.收到更改消息后,它们将被传递到 WCF 端口。

问题: 将其构建到 biztalk 中的最佳方法是什么 (使用循环构建编排,调用组件以使用 clientid 创建多条消息,创建自定义适配器)?

【问题讨论】:

  • 对“客户端”的更改是否必须按顺序完成,还是可以并行运行?
  • 客户端可以并行运行
  • 你能改变那个网络服务吗?我认为最好的解决方案是让该服务向您发送一批更改的客户端,这样您就可以使用信封模式对其进行反汇编并并行管理客户端。
  • 不幸的是我没有控制网络服务。

标签: biztalk biztalk-2010


【解决方案1】:

我认为 scatter-gatherer 模式可以很好地解决这个问题。在您的编排中,将客户端 xml 文档拆分为单独的客户端消息,然后将这些消息发布到一个编排,该编排与相关令牌一起处理它们。执行各个调用并将响应发送回控制编排的编排。可以在http://www.richardhallgren.com/a-loosely-coupled-scatter-and-gather-implementation-in-biztalk-2006/找到一个示例

另一个例子是http://blogs.msdn.com/b/cvidotto/archive/2006/12/18/biztalk-server-2006-code-samples-awesome.aspx。搜索实现分散和聚集模式。

【讨论】:

  • 谢谢,我真的很喜欢这个例子,并且会尝试实现这个模式。
【解决方案2】:

最简单的方法之一是使用Partner Direct Ports in BizTalk。

【讨论】:

    猜你喜欢
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多