0

我们正在开发两个系统之间的接口,公开一组 REST 接口。

在消费者端,从编排到消费者应用程序的 API 调用可能会导致内容错误(例如,消费者端未定义字典值)。因为消费者没有公开所有的字典 API,所以我们必须将这种情况上报给运维团队,他们可以包含缺失的字典值并重新触发消息。

问题是我们的 Biztalk 开发人员说重新触发已经发送到出站队列的消息是不可能的。

真的是这样吗?如何重新触发已经离开编排并发送到出站队列的消息?

4

1 回答 1

1

在整个过程中,这实际上取决于您如何设计解决方案。你有几个选择:

  1. 当从 BizTalk 以自动方式将错误升级到操作团队假设时,您可以使用原始消息启动一个新的编排实例,该消息等待使用 Id 关联的丢失数据的重新触发请求,然后一旦提交请求,它就可以合并两者和处理它。这种方法将保持一个长时间运行的实例,具体取决于从运营团队获得响应所需的时间。
  2. 另一种选择是在升级到数据库或其他地方之前保存消息,然后在重新触发工作流中使用一些相关 id 检索它。这有点类似于第一个选项,除了在这种情况下,您管理从自定义存储中保存和检索消息,而 BizTalk 将其保持在假脱机中,需要更多的开发工作,但如果您的此类实例的数量非常高,您可能想要这样做
  3. 如果可能的话,让运维团队在缺少数据的情况下再次提交整个请求。这样您就不需要在 BizTalk 中维护状态。

根据您的特定需求和设计限制,可能还有其他选择。希望这能给你一个好的开始。这当然可以做到。

于 2018-06-05T16:11:39.363 回答