Freigeben über


Verwendung von Nachrichten (Anforderungs- und Antwortklassen) mit der ExecuteCrmOrganizationRequest-Methode

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Zusätzlich zum Verwenden der IOrganizationService.Execute-Methode können Sie jetzt die CrmServiceClient.ExecuteCrmOrganizationRequest-Methode verwenden, um die Nachrichten Dynamics 365 und xRM auszuführen. Ähnlich wie die Execute-Methode nimmt die ExecuteCrmOrganizationRequest-Methode eine Nachrichtenanforderungsklasse als Parameter und gibt eine Nachrichtenantwortklasse zurück. Eine Liste der Nachrichten, die Sie mithilfe der CrmServiceClient.ExecuteCrmOrganizationRequest-Methode ausführen können, finden Sie unter xRM-Meldungen im Organisationsservice und Dynamics 365-Meldungen im Organisationsdienst.

Die folgenden Codebeispiele demonstrieren, wie Sie mithilfe der ExecuteCrmOrganizationRequest-Methode Nachrichten ausführen können.

Beispiel 1: CreateRequest-Nachricht

Das folgende Codebeispiel demonstriert, wie Sie die CreateRequest-Nachricht mithilfe der CrmServiceClient.ExecuteCrmOrganizationRequest-Methode ausführen können. Erstellen Sie in diesem Beispiel eine Firma und zeigen Sie dann im Antwortobjekt die ID an.

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

Beispiel 2: RetrieveMultipleRequest

Das folgende Codebeispiel demonstriert, wie Sie die RetrieveMultipleRequest-Nachricht mithilfe der CrmServiceClient.ExecuteCrmOrganizationRequest-Methode ausführen können. In diesem Beispiel führen Sie eine Mehrfachabrufanforderung aus, um alle Kontakte im System abzurufen und die vollständigen Namen anzuzeigen.

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

Siehe auch

Verwendung von Nachrichten (Anforderungs- und Antwortklassen) mit der Ausführensmethode
CrmServiceClient-Konstruktoren verwenden, um eine Verbindung mit Dynamics 365 herzustellen
XRM-Tooling zur Ausführung von Aktionen in Dynamics 365 verwenden

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright