Compartilhar via


Usar mensagens (classes de solicitação e resposta) com o método ExecuteCrmOrganizationRequest

 

Publicado: janeiro de 2017

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Além do uso do método IOrganizationService.Execute, agora você pode usar o método CrmServiceClient.ExecuteCrmOrganizationRequest para executar as mensagens do xRM e Dynamics 365. Semelhante ao método Execute, o método ExecuteCrmOrganizationRequest usa uma classe de solicitação da mensagem como um parâmetro e retorna uma classe de resposta da mensagem. Para obter uma lista de mensagens que podem ser executadas com o método CrmServiceClient.ExecuteCrmOrganizationRequest, consulte Mensagens do xRM no serviço da organização e Mensagens no serviço de organização do Dynamics 365.

Os seguintes códigos de exemplo demonstram como executar mensagens com o método ExecuteCrmOrganizationRequest.

Exemplo 1: Mensagem de CreateRequest

Os seguintes códigos de exemplo demonstram como executar a mensagem CreateRequest com o método CrmServiceClient.ExecuteCrmOrganizationRequest. Neste exemplo, crie uma conta e exiba o ID no objeto da resposta.

CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>", "<Domain>"),"<Server>", "<Port>", "<OrgName>");

// Verify that you are connected.
if (crmSvc != null && crmSvc.IsReady)
{
    //Display the CRM version number and org name that you are connected to.
    Console.WriteLine("Connected to CRM! (Version: {0}; Org: {1}", 
    crmSvc.ConnectedOrgVersion, crmSvc.ConnectedOrgUniqueName);

    CreateRequest request = new CreateRequest();
    Entity newAccount = new Entity("account");
    newAccount.Attributes.Add("name", "Sample Test Account");
    request.Target = newAccount;
    CreateResponse response = (CreateResponse)crmSvc.ExecuteCrmOrganizationRequest(request);

    // Display the ID of the newly created account record.
    Console.WriteLine("Account record created with the following ID: {0}", response.id.ToString());
}
else
{
    // Display the last error.
    Console.WriteLine("An error occurred: {0}", crmSvc.LastCrmError);

    // Display the last exception message if any.
    Console.WriteLine(crmSvc.LastCrmException.Message);
    Console.WriteLine(crmSvc.LastCrmException.Source);
    Console.WriteLine(crmSvc.LastCrmException.StackTrace);

    return;
}

Exemplo: 2 RetrieveMultipleRequest

Os seguintes códigos de exemplo demonstram como executar a mensagem RetrieveMultipleRequest com o método CrmServiceClient.ExecuteCrmOrganizationRequest. Neste exemplo, execute uma solicitação múltipla de recuperação para buscar todos os contatos do sistema e exiba o seu nome completo.

CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>", "<Domain>"),"<Server>", "<Port>", "<OrgName>");

// Verify that you are connected.
if (crmSvc != null && crmSvc.IsReady)
{
    //Display the CRM version number and org name that you are connected to.
    Console.WriteLine("Connected to CRM! (Version: {0}; Org: {1}", 
    crmSvc.ConnectedOrgVersion, crmSvc.ConnectedOrgUniqueName);

    QueryExpression userSettingsQuery = new QueryExpression("contact");
    userSettingsQuery.ColumnSet.AllColumns = true;
    var retrieveRequest = new RetrieveMultipleRequest()
    {
        Query = userSettingsQuery
    };
    EntityCollection EntCol = (crmSvc.ExecuteCrmOrganizationRequest(retrieveRequest) as RetrieveMultipleResponse).EntityCollection;
    foreach (var a in EntCol.Entities)
    {
        Console.WriteLine("Account name: {0} {1}", a.Attributes["firstname"], a.Attributes["lastname"]);
    }
}
else
{
    // Display the last error.
    Console.WriteLine("An error occurred: {0}", crmSvc.LastCrmError);

    // Display the last exception message if any.
    Console.WriteLine(crmSvc.LastCrmException.Message);
    Console.WriteLine(crmSvc.LastCrmException.Source);
    Console.WriteLine(crmSvc.LastCrmException.StackTrace);

    return;
}

Confira Também

Usar mensagens (classes de solicitação e resposta) com o método Execute
Os os construtores para conectar ao Dynamics 365
Usar as ferramentas do XRM para executar ações no Dynamics 365

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais