首页 > 解决方案 > Rest API BizTalk 2016 的 WCF-WebHttp 错误处理

问题描述

我有一个带有 POST 方法的休息 API,我在其中以 JSON 格式发布和接收成功响应,它工作得非常好。在失败期间我收到

错误详细信息:System.Net.WebException:远程服务器返回意外响应:(400)错误请求创建失败,因为名称或电子邮件地址无效

我在应用程序日志中看到并发送端口被暂停。如果收到任何错误响应,我需要在 BizTalk Orchestration 中捕获此内容,我需要在其中发送电子邮件。

由于错误响应不是 JSON 格式,不知道如何处理。任何的想法?

标签: biztalkbiztalk-2016

解决方案


  1. 为发送端口上的失败消息启用路由以停止挂起的消息。ErrorReport.FailureCode Exists如果您只想在 Orchestration 中处理这些,您可能必须更新订阅的发送端口中的过滤器以排除您的 API 发送端口。如果您没有这样的端口,您可能必须创建一个,并将失败的消息发送到 NULL 适配器或类似的。
  2. 让您的业务流程有一个带有异常块的范围来捕获系统异常,其中有 Exception = SystemException.ToString();一个表达式形状,其中 Exception 是一个 System.String 变量,而 SystemException 是您在 Catch 块中定义的异常对象名称。
  3. 在你的 catch 块中有逻辑来决定你得到什么样的异常,我使用一个 If 形状,Exception.Contains("XXXX")其中 XXXX 是异常中的文本,或者根据你的需要处理它。

推荐阅读