休息的 WCF-WebHttp 错误处理 API BizTalk 2016

WCF-WebHttp Error Handling For Rest API BizTalk 2016

我用 POST 方法休息 API,我发布和接收成功响应的 JSON 格式非常好。在失败期间我收到

Error details: System.Net.WebException: The remote server returned an unexpected response: (400) Bad Request The creation failed because the name or email address of the is invalid

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

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

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