【问题标题】:Use of unconstructed message使用未构造的消息
【发布时间】:2010-09-23 18:39:58
【问题描述】:

我正在使用 BizTalk 2004

我有一个具有异常块的业务流程,它在遇到异常之前发送它正在创建的实际日志文件。

这里是设计: 我的日志文件消息可能包含多个记录实例,例如:(我在节点中添加了“-”以便您可以查看示例)

-/记录> -/记录> -/日志>

我在 Long Running Transaction 中有一个整体范围,其中包含一个捕获 System.Exception 的异常块 范围内是包含几条记录的我的请求消息的整体处理。日志文件最初仅使用标题(日志)构建,然后在循环中更新日志文件以获取记录,其中它从单独处理的请求中获取记录到单个 xml。它将遍历每个单独的 xml,然后将记录添加到日志文件中。

这个构造的日志文件在循环处理后被成功发送出去。现在我想发送遇到异常时构造的日志文件。正如我所说,日志文件正在循环中更新和构建。但是当我尝试在异常块中发送日志文件时,我点击了“使用未构造消息”的东西,所以我尝试将日志文件保存在 xmldocument 中,然后使用 xmldocument 在异常块中构造消息,但是我有xmlDocument 本身的“使用未构造的消息”的事情

如果您能告诉我如何在长时间运行的事务范围内成功发送异常块内的日志文件,将不胜感激。

提前致谢!

【问题讨论】:

    标签: biztalk


    【解决方案1】:

    如果我正确理解您的描述,问题是您正在范围内创建一条消息,然后您希望在同一范围的异常处理程序中使用该消息。 就编译器而言,不能保证在抛出异常之前构造消息,在这种情况下,异常处理程序可能会在未构造消息的情况下执行。 如果您在消息构造形状之前或之时在范围内发生故障,则会发生这种情况。

    要解决这个问题,您必须首先在其异常处理程序使用该消息的作用域之前构造该消息。然后,您可以在范围内重新构造形状,但这可以保证,当遇到异常处理程序时,一条消息将以一种或另一种方式存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-12
      相关资源
      最近更新 更多