内部的Dynamics 365-Wep Api-错误响应

时间:2018-08-31 04:35:56

标签: dynamics-crm dynamics-365 dynamics-crm-webapi

有关错误响应的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'."  
   }
}

2 个答案:

答案 0 :(得分:0)

停止CRM异步服务。然后重新开始并全部发布。

答案 1 :(得分:0)

我相信从Dynamics 365不可能做到这一点。WebAPI文档没有提及能够自定义错误消息的内容。它们将始终以相同的格式交付。

Microsoft Docs: Parse errors from the response

如果您真的很担心堆栈跟踪被公开,则可以创建一个自定义Web API,该API位于D365与使用D365数据的对象之间。该包装器API可以删除您关注的数据。

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