rest - BizTalk Server 2013 休息错误处理

标签 rest biztalk biztalk-2013

我正在使用 BizTalk Server 2013 WCF-WebHttp 适配器来调用 REST API SalesForce。
当我收到不同于 200 的 HTTP 状态代码时,我的编排捕获了 SystemException,但我仍然有一个发送端口实例暂停。
是否有任何“ native ”解决方案来避免发送端口实例暂停?
我读了这篇文章:
BizTalk Server: REST Services Error Handling

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

你有什么主意吗 ?

最佳答案

不幸的是,没有

该文章有更新版本 BizTalk Server 2013 R2: Handle exceptions from REST services in Orchestration

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

更多细节请关注。

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

但是,您必须做更多的事情来阻止端口上的 Suspended 消息。

1) 停止端口上的 Suspended 消息 Enable Routing for Failed messages on the Send Port。

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

为了防止这种情况,您要么需要调整异常处理程序上的过滤器表达式,要么在异常处理框架中设置规则以忽略这些消息。

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

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

3)但是,您仍然需要其他内容订阅失败的消息以使它们消失,我们使用自定义的空适配器和过滤器来订阅错误。这意味着错误只会出现在编排中。

NULL Adapter filter expression

NULL 适配器过滤器表达式

关于rest - BizTalk Server 2013 休息错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36986973/

相关文章:

wcf - 使用 BizTalk REST 适配器的 AddressFilter 不匹配 - 为什么?

java - 当 REST 端点有太多可选参数时,如何使用参数对象而不是多个参数

angular - 使用 Angular + Spring Boot + REST + JWT 进行 CSRF 保护

biztalk - BizTalk 接收端口能否像发送端口那样通过过滤拉入 FailedMessageRoutings?

biztalk - 在BizTalk中为隔离的适配器启用默认应用程序域有什么含义?

biztalk - 如何确保BTS HL7 ACK Message的消息控制id与原始消息相同

visual-studio - 保存 map 时出错。存储过程返回非零结果

python - 在 View 集中创建的 Django-rest-framework 权限

rest - Couchbase Sync Gateway 如何获取 Couchbase Server 更改?

biztalk - 如何让 WebDav 服务器上出现的文件触发 BizTalk 事件?