Динамика 365 в помещениях - Wep Api - Ответ об ошибке
Веб-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'."
}
}
1 ответ
Остановите асинхронную службу CRM. Тогда начните снова и опубликовайте все.
Я считаю, что это невозможно из Dynamics 365. В документации по веб-API нет упоминания о возможности настройки содержимого сообщений об ошибках. Они всегда будут доставлены в одном и том же формате.
Microsoft Docs: анализ ошибок из ответа
Если вас действительно беспокоит отображение трассировки стека, вы можете создать собственный веб-API, который находится между D365 и всем, что потребляет данные D365. Этот API-оболочка может вырезать данные, которые вас беспокоят.
Это грязно, но я не думаю, что у вас есть другие варианты...