有关错误响应的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'."
}
}
答案 0 :(得分:0)
停止CRM异步服务。然后重新开始并全部发布。
答案 1 :(得分:0)
我相信从Dynamics 365不可能做到这一点。WebAPI文档没有提及能够自定义错误消息的内容。它们将始终以相同的格式交付。
Microsoft Docs: Parse errors from the response
如果您真的很担心堆栈跟踪被公开,则可以创建一个自定义Web API,该API位于D365与使用D365数据的对象之间。该包装器API可以删除您关注的数据。
这很脏,但我认为您没有其他选择...