BizTalk Server 2013其余错误处理

Lar*_*DAS 6 rest biztalk biztalk-2013

我正在使用BizTalk Server 2013 WCF-WebHttp适配器来调用REST API SalesForce。当我收到不同于200的HTTP状态代码时,业务流程捕获了SystemException,但是我仍然暂停了发送端口实例。是否有任何“本机”解决方案可避免发送端口实例挂起?我读了这篇文章: BizTalk Server:REST服务错误处理

但是对于WCF-WebHttp适配器,CustomBinding选项不可用。我试图添加错误消息,但是我没有找到合适的类型来捕获此异常。

你有什么主意吗 ?

Dij*_*aaf 2

不幸的是,没有

该文章BizTalk Server 2013 R2:在 Orchestration 中处理 REST 服务的异常有更新版本

您必须将发送端口设置为 WCF-Custom 并使用自定义绑定,然后从 WCF-WebHttp 重新创建所有设置。

更多详情敬请关注。

更新:
将编排中的异常捕获为系统异常是很好的,然后您可以检查错误以查看它是否是业务异常,例如,如果您正在执行查询以查看对象是否存在于 RESTful 服务中,然后再执行创建或更新并得到 404。

但是,您还需要执行一些操作才能停止端口上的挂起消息。

1) 停止端口上的挂起消息 在发送端口上启用失败消息的路由。

2)但这意味着它将转到您拥有的用于处理失败消息的任何框架,从而导致业务异常引发大量错误

为了防止这种情况,您需要调整异常处理程序上的过滤表达式,或者在异常处理框架中制定规则来忽略这些消息。

例如,我们使用 ESB 异常处理框架,并调整规则以排除该特定发送端口。

ESB All.Exceptions 端口 ESB 异常处理框架 All.Exceptions 端口

3)但是,您仍然需要有其他东西来订阅失败的消息以使它们消失,我们使用自定义的空适配器和过滤器来订阅错误。这意味着错误只会发生在业务流程中。

NULL 适配器过滤器表达式

NULL 适配器过滤器表达式