Utilizzare i messaggi (classi di richiesta e di risposta) con il metodo ExecuteCrmOrganizationRequest
Data di pubblicazione: novembre 2016
Si applica a: Dynamics CRM 2015
Oltre all'utilizzo del metodo IOrganizationService.Execute, è ora possibile utilizzare il metodo CrmServiceClient.ExecuteCrmOrganizationRequest per eseguire i messaggi xRM e Dynamics 365. Analogamente al metodo Execute, il metodo ExecuteCrmOrganizationRequest accetta una classe di richiesta di messaggio come parametro e restituisce una classe di risposta di messaggio. Per un elenco dei messaggi che è possibile utilizzare con il metodo CrmServiceClient.ExecuteCrmOrganizationRequest, vedere Messaggi xRM nel servizio dell'organizzazione e Messaggi CRM nel servizio di organizzazione.
Negli esempi di codice riportati di seguito viene illustrato come eseguire i messaggi utilizzando il metodo ExecuteCrmOrganizationRequest.
Esempio 1: messaggio CreateRequest
Nell'esempio di codice riportato di seguito viene illustrato come eseguire il messaggio CreateRequest utilizzando il metodo CrmServiceClient.ExecuteCrmOrganizationRequest. In questo esempio, si crea un account e successivamente si visualizza l'ID dell'oggetto risposta.
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;
}
Esempio 2: RetrieveMultipleRequest
Nell'esempio di codice riportato di seguito viene illustrato come eseguire il messaggio RetrieveMultipleRequest utilizzando il metodo CrmServiceClient.ExecuteCrmOrganizationRequest. In questo esempio, si esegue una richiesta di recupero multipla per recuperare tutti i contatti nel sistema e visualizzarne i nomi completi.
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;
}
Vedere anche
Utilizzare i messaggi (classi di richiesta e di risposta) con il metodo Execute
Utilizzare gli strumenti XRM per la connessione a CRM
Utilizzare strumenti XRM per eseguire azioni in CRM
© 2017 Microsoft. Tutti i diritti sono riservati. Copyright