Biztalk映射中的脚本异常

Biztalk映射中的脚本异常,biztalk,maps,exception,Biztalk,Maps,Exception,我有一个biztalk(2006 R2)映射,它使用一个类来提供一些我们无法通过现有functoid轻松实现的自定义逻辑 当从此类的某个方法引发异常时,异常详细信息不幸丢失(至少在我看来),转换形状只会引发一个异常,指示'Function'ScriptNS-:DoFoo()'已失败' 后来我得出结论,在地图中使用脚本functoid会导致灾难,但这是另一个讨论。我的问题是,是否有一种机制允许异常详细信息传递到父业务流程?尝试使用“System.Diagnostics.Trace”类,并在方法中输

我有一个biztalk(2006 R2)映射,它使用一个类来提供一些我们无法通过现有functoid轻松实现的自定义逻辑

当从此类的某个方法引发异常时,异常详细信息不幸丢失(至少在我看来),转换形状只会引发一个异常,指示
'Function'ScriptNS-:DoFoo()'已失败'


后来我得出结论,在地图中使用脚本functoid会导致灾难,但这是另一个讨论。我的问题是,是否有一种机制允许异常详细信息传递到父业务流程?

尝试使用“System.Diagnostics.Trace”类,并在方法中输出与其进度相关的内容。首先输出输入参数,因为它们可能不同于您的方法所期望的

简化示例:

System.Diagnostics.Trace.WriteLine("HelperClass XX - Method YY - This was passed from the map : " + inputParamOne);
使用清晰的命名标准可以更容易地在免费工具DebugView中进行过滤,尤其是在运行比您的东西更多的机器上。我经常留下这个追踪,因为它在以后常常被证明是无价的。如果没有连接侦听器,通常可以忽略开销

如果已在BizTalk开发计算机上部署并运行映射,则可以通过执行以下步骤进行调试:

  • 在方法中放置断点
  • 选择“调试-附加到进程”
  • 附加到HostInstance进程 (32位时为BTSNTSvc.exe)处理 您对应的端口或 运行映射的编排

我记不起这个问题的上下文,所以我不知道是解决了如何获取异常详细信息,还是只是修复了特定的异常。但我想如果这对其他人有帮助的话,我会添加这个,我知道在biztalk中,业务流程组件引发的许多异常都被“包装”为您收到的实际异常消息的内部异常。。