Utilizar mensajes con el método ExecuteCrmOrganizationRequest
Las siguientes muestras de código muestran cómo se pueden ejecutar mensajes mediante el método de ExecuteCrmOrganizationRequest.
Nota
También puede usar ServiceClient.ExecuteOrganizationRequest para obtener los mismos resultados.
Lea la siguiente información importante sobre el uso de una cadena de conexión en el código de la aplicación.
Importante
Microsoft recomienda utilizar el flujo de autenticación más seguro disponible. El flujo de autenticación descrito en este artículo requiere un alto grado de confianza en la aplicación y conlleva riesgos que no están presentes en otros flujos. Solo debe usar este flujo cuando otros flujos más seguros, como las identidades administradas, no sean viables.
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 svc = new CrmServiceClient(connectionstring);
// ServiceClient svc = new ServiceClient(connectionstring);
// Verify that you are connected.
if (svc != null && svc.IsReady)
{
var request = new CreateRequest();
var newAccount = new Entity("account");
newAccount.Attributes.Add("name", "Sample Test Account");
request.Target = newAccount;
var response = (CreateResponse)svc.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}", svc.LastCrmError);
// Display the last exception message if any.
Console.WriteLine(svc.LastCrmException.Message);
Console.WriteLine(svc.LastCrmException.Source);
Console.WriteLine(svc.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 svc = new CrmServiceClient(connectionstring);
// ServiceClient svc = new ServiceClient(connectionstring);
// Verify that you are connected.
if (svc != null && svc.IsReady)
{
var userSettingsQuery = new QueryExpression("contact");
userSettingsQuery.ColumnSet.AllColumns = true;
var retrieveRequest = new RetrieveMultipleRequest()
{
Query = userSettingsQuery
};
EntityCollection EntCol = (svc.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}", svc.LastCrmError);
// Display the last exception message if any.
Console.WriteLine(svc.LastCrmException.Message);
Console.WriteLine(svc.LastCrmException.Source);
Console.WriteLine(svc.LastCrmException.StackTrace);
return;
}
Vea también
Usar útiles XRM para conectarse a Microsoft Dataverse
Usar herramientas de API XRM para ejecutar acciones en Dataverse