2009-08-12 91 views
0

我有一个biztalk(2006 R2)地图,它使用一个类来提供一些我们无法通过现有functoid整齐地实现的自定义逻辑。Biztalk中的脚本异常映射

当一个异常被从这个类的异常细节,不幸丢失(至少据我可以看到)的方法的一个抛出,变换形状简单地抛出异常指示'Function 'ScriptNS-:DoFoo()' has failed'

I”自从得出的结论是,在地图中使用脚本functoids是灾难的秘诀,但那是另一个讨论。我的问题是有没有一种机制允许异常详细信息传递给父业务流程?

+0

我不记得这个问题的上下文,所以我不知道如果我解决了如何得到异常的细节或只是解决了特定的异常。但我想我会添加这个,如果它可以帮助别人,我知道在biztalk中,许多从编排组件抛出的异常被“包装”为您收到的实际异常消息的InnerException。 – TygerKrash 2010-04-15 15:42:10

回答

1

尝试使用'System.Diagnostics.Trace'类并在与其进度相关的方法内输出内容。从输出参数开始,因为它们可能与您的方法所期望的不同。

简单的例子:

System.Diagnostics.Trace.WriteLine("HelperClass XX - Method YY - This was passed from the map : " + inputParamOne); 

使用明确的命名标准可以更容易地运行时比你的东西多台机器上过滤器内免费工具DebugView中,更是如此。我经常留下这样的追踪,因为它后来经常证明是非常宝贵的。如果没有监听器连接,开销通常可以忽略。

如果您在地图部署一个BizTalk开发机器,你可以通过执行以下步骤调试运行:

  • 将断点的方法
  • 选择“调试 - 附加到进程”
  • 附加到HostInstance进程 (BTSNTSvc.exe如果是32位)处理 您的对应端口或 协调运行映射。