【发布时间】:2018-09-08 20:20:03
【问题描述】:
在 BizTalk 2013/R2 (CU6) 上,我在当前客户端中看到另一个应用程序/编排似乎正在执行此操作,但我的应用程序/编排不是。
我通过导出、编辑、然后导入、仅更改名称和操作/方法绑定来克隆他们的发送端口。它具有“检查失败消息的启用路由”。
看起来我正在使用 System.Exception 在编排中捕获它, 但我仍然看到 SendPort 暂停(可恢复)和路由错误(不可恢复)。
我正在捕获的示例错误(我故意强制错误以测试错误处理)。
System.Net.WebException:远程服务器返回了意外 响应:(400) 错误请求。 {"httpStatusCode":400,"httpMessage":"错误 Request","errorMessage":"无法处理货件 request","errors":[{"severity":"ERROR","message":"没有凭据 为该供应商找到。你把它们加到ABC了吗 仪表板?","source":"SYSTEM"}],"supportReferenceId":"31eee61a-8770-4524-bada-2d906a53ab48"}
我看过其他一些博客和问题表明没有返回500错误,并且没有设置http状态。但我还没有看到任何关于暂停发送端口的信息。似乎今天早些时候,我的 System.Exception 没有捕捉到它,但我不能及时回去确定。
我已将 SendPort 上的重试次数设为 0。
另外,究竟是什么决定了哪些 http 状态可以返回编排?我同事的代码也检查了 400、401 和 403。
相关问题:BizTalk Catch Http Response Code
更新:我的同事在另一个团队,但我收到了她的回复。她有另一个编排,只是“吃掉”错误消息以避免错误。
【问题讨论】: