Exception BizTalk-为什么控制台中会出现已处理异常的挂起消息?

Exception BizTalk-为什么控制台中会出现已处理异常的挂起消息?,exception,biztalk,biztalk-2013r2,Exception,Biztalk,Biztalk 2013r2,以下是一些BizTalk业务流程中的常见结构的图像: 因此,当我们从API获取信息而帐户不存在时,我们终止编排。这很好,我可以看到业务流程正在这样做,并在应该的时候终止,但我不明白的是,为什么我会在控制台中看到来自GET的挂起消息?由于异常处理工作正常,这不应该停止控制台中显示的错误吗 作为一种解决方法,我考虑使用管道组件来检查响应消息,如果它包含将被忽略的内容,只需返回null来代替消息。这会产生预期的效果吗?我更感兴趣的是为什么我会在控制台中看到挂起的消息。是的,这是WCF WebHttp适

以下是一些BizTalk业务流程中的常见结构的图像:

因此,当我们从API获取信息而帐户不存在时,我们终止编排。这很好,我可以看到业务流程正在这样做,并在应该的时候终止,但我不明白的是,为什么我会在控制台中看到来自GET的挂起消息?由于异常处理工作正常,这不应该停止控制台中显示的错误吗


作为一种解决方法,我考虑使用管道组件来检查响应消息,如果它包含将被忽略的内容,只需返回null来代替消息。这会产生预期的效果吗?我更感兴趣的是为什么我会在控制台中看到挂起的消息。

是的,这是WCF WebHttp适配器的一个已知问题,它将其作为SOAP格式的错误抛出,但没有设置MessageType上下文属性(请参阅“我的”并查找错误:BizTalk WCF WebHttp适配器未设置错误时的消息类型)。因此,尽管异常会在业务流程中抛出并在那里处理,但消息并非如此,因为BizTalk不知道它是什么类型,因此它会挂起

我们使用的解决方法是

  • 为发送端口上的失败邮件设置启用路由
  • 要使发送端口使用
    BTS.SPName=xxxx
    筛选器订阅来自该发送端口的所有响应消息,并且发送端口将其发送到自定义空适配器(丢弃该消息),是的,您的业务流程仍将获得良好的响应以及异常
  • 更新处理来自其他发送端口的路由错误的发送端口(我们确实希望转到异常处理),以排除我们正在通过业务流程处理的那些发送端口

  • 好的,谢谢!这个bug在新版本的BizTalk中仍然存在吗?@jevi不确定,因为我还没有测试过它,但我看到没有宣布对它进行“修复”,所以我想,是的。