ExecuteCrmOrganizationRequest メソッドでメッセージ (要求クラスと応答クラス) を使用する
公開日: 2017年1月
対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online
IOrganizationService。Execute メソッドのほかに、CrmServiceClient.ExecuteCrmOrganizationRequest メソッドを使用して xRM メッセージと Dynamics 365 メッセージを実行できるようになりました。Execute メソッドと同様に、ExecuteCrmOrganizationRequest メソッドは、メッセージ要求クラスをパラメーターとして取得し、メッセージ応答クラスを返します。CrmServiceClient.ExecuteCrmOrganizationRequest メソッドを使用して実行できるメッセージの一覧については、「組織サービスにおける xRM メッセージ」と「組織サービスにおける Dynamics 365 メッセージ」を参照してください。
次のコード サンプルは、ExecuteCrmOrganizationRequest メソッドを使用してメッセージを実行する方法を示しています。
例 1: CreateRequest メッセージ
次のコード サンプルは、CrmServiceClient.ExecuteCrmOrganizationRequest メソッドを使用して、CreateRequest メッセージを実行する方法を示しています。 この例では、取引先企業を作成してから、応答オブジェクトに ID を表示します。
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;
}
例 2: RetrieveMultipleRequest
次のコード サンプルは、CrmServiceClient.ExecuteCrmOrganizationRequest メソッドを使用して、RetrieveMultipleRequest メッセージを実行する方法を示しています。 この例では、複数取得の要求を実行し、システム内のすべての取引先担当者をフェッチし、それらの氏名を表示します。
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;
}
関連項目
Execute メソッドでメッセージ (要求クラスおよび応答クラス) を使用する
CrmServiceClient コンストラクターを使用した Dynamics 365 への接続
XRM を使用して Dynamics 365 でアクションを実行
Microsoft Dynamics 365
© 2017 Microsoft. All rights reserved. 著作権