3

错误响应的 Web API 包括堆栈跟踪和内部异常。出于安全原因,我们希望从错误响应中删除堆栈跟踪。

我可以知道如何进行这些配置吗?

这是现有的示例错误响应:

{
  "error":{
    "code":"","message":"Resource not found for the segment '***_experienceses'.",
    "innererror":{
      "message":"Resource not found for the segment '***_experienceses'.",
      "type":"Microsoft.OData.Core.UriParser.ODataUnrecognizedPathException",
      "stacktrace":"at Microsoft.OData.Core.UriParser.Parsers.ODataPathParser.ParsePath(ICollection`1 segments)\r\n   at Microsoft.OData.Core.UriParser.Parsers.ODataPathFactory.BindPath(ICollection`1 segments, ODataUriParserConfiguration configuration)\r\n   at Microsoft.OData.Core.UriParser.ODataUriParser.Initialize()\r\n   at System.Web.OData.Routing.DefaultODataPathHandler.Parse(IEdmModel model, String serviceRoot, String odataPath, ODataUriResolverSetttings resolverSettings, Boolean enableUriTemplateParsing)\r\n   at System.Web.OData.Routing.DefaultODataPathHandler.Parse(IEdmModel model, String serviceRoot, String odataPath)\r\n   at Microsoft.Crm.Extensibility.OData.CrmODataPathHandler.Parse(IEdmModel model, String serviceRoot, String odataPath)"
    }
  }
}

我们希望成为这样:

{
  "error":{
     "code":"","message":"Resource not found for the segment '***_experienceses'."  
   }
}
4

2 回答 2

0

停止 CRM 异步服务。然后重新开始并发布所有内容。

于 2018-09-03T03:07:36.460 回答
0

我相信这在 Dynamics 365 中是不可能的。Web API 文档没有提到能够自定义错误消息的内容。它们将始终以相同的格式交付。

Microsoft Docs:从响应中解析错误

如果您真的担心堆栈跟踪被暴露,您可以创建一个位于 D365 和任何消耗 D365 数据的对象之间的自定义 Web API。这个包装器 API 可以去除您关心的数据。

它很脏,但我认为您没有其他选择...

于 2019-09-12T21:13:36.343 回答