Share via


Utiliser les messages (classes de demande et de réponse) avec la méthode ExecuteCrmOrganizationRequest

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Outre l’utilisation de la méthode IOrganizationService.Execute, vous pouvez à présent utiliser la méthode CrmServiceClient.ExecuteCrmOrganizationRequest pour exécuter les messages xRM et Dynamics 365. Similaire à la méthode Execute, la méthode ExecuteCrmOrganizationRequest accepte une classe de demande de message comme paramètre et retourne une classe de réponse de message. Pour obtenir la liste des messages que vous pouvez exécuter à l’aide de la méthode CrmServiceClient.ExecuteCrmOrganizationRequest, consultez Messages xRM dans le service d’organisation et Messages Dynamics 365 dans le service d’organisation.

Les exemples de code suivants montrent comment exécuter des messages à l’aide de la méthode ExecuteCrmOrganizationRequest.

Exemple 1 : Message CreateRequest

L’exemple de code suivant montre comment exécuter le message CreateRequest à l’aide de la méthode CrmServiceClient.ExecuteCrmOrganizationRequest. Dans cet exemple, vous créez un compte, puis affichez l’ID dans l’objet de réponse.

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;
}

Exemple 2 : Message RetrieveMultipleRequest

L’exemple de code suivant montre comment exécuter le message RetrieveMultipleRequest à l’aide de la méthode CrmServiceClient.ExecuteCrmOrganizationRequest. Dans cet exemple, vous exécutez une demande de récupération multiple pour extraire tous les contacts dans le système, puis affichez leur nom complet.

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;
}

Voir aussi

Utiliser les messages (classes de demande et de réponse) avec la méthode Execute
Utiliser les constructeurs CrmServiceClient pour se connecter à Dynamics 365
Utiliser les outils XRM pour exécuter des actions dans Dynamics 365

Microsoft Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright