CRM 4 – Tratamento de Erros

Devido o CRM ser baseado em SOAP muitas exceptions acabam tendo seu verdadeiro erro ofuscado por um “Server was unable to process request.” (que muito nos ajuda!). Uma alternativa bastante utilizada seria habilita o trace e ver o log de erros, porém existe uma forma mais visual e simples que pode ser adaptada e melhorada, mas o quero deixar é o conceito mesmo.

...

// Dll SOAP Exception
using System.Web.Services.Protocols;

...

...

// contactGuid is the GUID of the record being deleted -Since this is a random GUID, it should not exist in theMicrosoft Dynamics CRM system against which this code isrun
Guid contactGuid = new Guid("4D507FFE-ED25-447B-80DE-00AE3EB18B84");

try
{
    // Delete the non-existent Contact
    INSTANCIA_WEB_SERVICE.Delete(EntityName.contact.ToString(), contactGuid);
}
catch (SoapException ex)
{
    // This will contain the error message from the platform
    Response.Write("Microsoft Dynamics CRM Error Information:" + "
");
    Response.Write(ex.Detail.InnerText + "
");

    // The InnerXml contains the details of the error in aparsable XML format
    XmlDocument error = new XmlDocument();
    error.LoadXml(ex.Detail.InnerXml);

    // Render out the details of the error
    Response.Write("Error Code: " + error.SelectSingleNode("/error/code").InnerText + "
");
    Response.Write("Error Description: " + error.SelectSingleNode("/error/description").InnerText + "
");
    Response.Write("Error Type: " + error.SelectSingleNode("/error/type").InnerText + "
");
}

...

Este código foi retirado e adaptado do curso preparatório “8969A Extending Microsoft Dynamics CRM 4.0” .

Anúncios

Sobre Tiago Michelini Cardoso

I have been working with IT since 2006, almost of this time using Microsoft Dynamics CRM/365 as a source of solutions. I graduated in Bachelor of Information Systems at FIAP (Brazil) in 2012. I really love what I do! Technology has been my interest since always. Even in a tool different world of the current. When we didn't have internet, tablets, smartphones e social networks! Although I have worked in some roles, I can't give up "the developer life". Even so far of the greatest developers. Development in general is the thing that I love to work! I started my contributions about Dynamics in 2010. At the beginning, I used to help at MSDN and TechNet forums. But now, I'm dedicating all my time in my personal blog! Currently, I have the enormous honour of being the only Brazilian who got the award for Microsoft MVP (Most Valuable Professional) for Microsoft Dynamics CRM/365 product. I have been receiving the award since 2012.
Esse post foi publicado em Dynamics CRM e marcado , . Guardar link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s