Compartir a través de


Usar mensajes (clases de respuesta y solicitud) con el método ExecuteCrmOrganizationRequest

 

Publicado: noviembre de 2016

Se aplica a: Dynamics CRM 2015

Además de utilizar el método IOrganizationService.Execute, ahora puede utilizar el método CrmServiceClient.ExecuteCrmOrganizationRequest para ejecutar los mensajes xRM y Dynamics 365. Parecido al método Execute, el método ExecuteCrmOrganizationRequest recibe una clase de solicitudes del mensaje como parámetro y devuelve un tipo de respuesta de mensaje. Para obtener una lista de mensajes que puede ejecutar mediante el método CrmServiceClient.ExecuteCrmOrganizationRequest, consulte Mensajes de xRM en el servicio de organización y Mensajes de CRM en el servicio de organización.

Las siguientes muestras de código muestran cómo se pueden ejecutar mensajes mediante el método de ExecuteCrmOrganizationRequest.

Ejemplo: 1 Mensaje de CreateRequest

La siguiente muestra de código demuestra cómo ejecutar el mensaje de CreateRequest mediante el método CrmServiceClient.ExecuteCrmOrganizationRequest. En este ejemplo, cree una cuenta y, a continuación, muestre el identificador en el objeto de respuesta.

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

Ejemplo 2: RetrieveMultipleRequest

La siguiente muestra de código demuestra cómo ejecutar el mensaje de RetrieveMultipleRequest mediante el método CrmServiceClient.ExecuteCrmOrganizationRequest. En este ejemplo, ejecuta una solicitud de varias recuperaciones para recuperar todos los contactos del sistema y mostrar su nombre 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;
}

Ver también

Usar mensajes (clases de respuesta y solicitud) con el método Execute
Usar herramientas XRM para conectarse a CRM
Usar herramientas XRM para ejecutar acciones en CRM

© 2017 Microsoft. Todos los derechos reservados. Copyright