Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dynamics crm 使用ExecuteTransactionRequest时出现故障异常(CRM 2015)_Dynamics Crm_Dynamics Crm 2015_Dynamics Crm 2016 - Fatal编程技术网

Dynamics crm 使用ExecuteTransactionRequest时出现故障异常(CRM 2015)

Dynamics crm 使用ExecuteTransactionRequest时出现故障异常(CRM 2015),dynamics-crm,dynamics-crm-2015,dynamics-crm-2016,Dynamics Crm,Dynamics Crm 2015,Dynamics Crm 2016,我正在对ExecuteTransactionRequest进行一些技术调查。这不是我以前用过的东西,所以我做了一个非常快速的实验,看看它是如何工作的。但是,当发送请求时,OrganizationService将抛出FaultException(如下所示)。我认为正在发生的是,我的CRM版本不支持该组织请求。虽然我很确定我有正确的程序集和版本 谁能告诉我我错过了什么 CRM部署版本:7.0.1.129 组织版本:7.0.2.53 Microsoft.Xrm程序集版本:7.0.0.0(在8.0.0.

我正在对ExecuteTransactionRequest进行一些技术调查。这不是我以前用过的东西,所以我做了一个非常快速的实验,看看它是如何工作的。但是,当发送请求时,OrganizationService将抛出FaultException(如下所示)。我认为正在发生的是,我的CRM版本不支持该组织请求。虽然我很确定我有正确的程序集和版本

谁能告诉我我错过了什么

CRM部署版本:7.0.1.129

组织版本:7.0.2.53

Microsoft.Xrm程序集版本:7.0.0.0(在8.0.0.0中也出现)

“System.ServiceModel.FaultException”类型的未处理异常 发生在Microsoft.Xrm.Sdk.dll中

其他信息:格式化程序在尝试时引发异常 要反序列化消息,请执行以下操作:尝试 反序列化参数 . 这个 InnerException消息为“第1行位置451中的错误”。元素 '' 包含映射到名称的类型中的数据 ''. 反序列化程序不知道映射到此名称的任何类型。 考虑更改对您的解决方案名称方法的实现 DataContractResolver返回名称的非空值 “ExecuteTransactionRequest”和命名空间 ''.'. 请看 有关详细信息,请参阅InnerException

CrmConnection connection=CrmConnection.Parse(GetCrmConnectionString(“非托管”);
IOOrganizationService orgService=新的OrganizationService(连接);
ExecuteTransactionRequest transactionRequest=新的ExecuteTransactionRequest()
{
ReturnResponses=true,
请求=新的OrganizationRequestCollection()
};
实体新联系人=新实体(“联系人”);
newContact[“firstname”]=“Stack”;
新联系人[“lastname”]=“溢出”;
CreateRequest CreateRequest=新建CreateRequest()
{
目标=新联系人
};
transactionRequest.Requests.Add(createRequest);
ExecuteTransactionResponse transactionResponse=(ExecuteTransactionResponse)orgService.Execute(transactionRequest);

更新

快速查看您的代码,看起来是因为
CreateRequest
未添加到集合中。在您发表评论并仔细检查crm组织版本后,您将进入crm 2015(而不是更新1)。仅受CRM 2015更新1(版本7.1.XXX)和更高版本(版本8.0.XXX)组织的支持。因此,不幸的是,您的查询在至少2015年更新应用于组织之前无法工作


您没有将您的创建请求添加到
ExecuteTransactionRequest
-
Requests
集合中。空请求集合最有可能导致异常

ExecuteTransactionRequest transactionRequest=new ExecuteTransactionRequest()
{
ReturnResponses=true,
请求=新的OrganizationRequestCollection()
};
实体新联系人=新实体(“联系人”);
newContact[“firstname”]=“Stack”;
新联系人[“lastname”]=“溢出”;
CreateRequest CreateRequest=新建CreateRequest()
{
目标=新联系人
};
transactionRequest.Requests.Add(createRequest)//丢失的
ExecuteTransactionResponse transactionResponse=(ExecuteTransactionResponse)orgService.Execute(transactionRequest);

谢谢你的点播。这仅仅是因为我对代码进行了一点重构,使其对堆栈更加友好,并且忘记了将其重新添加进去。抱歉搞混了!因此,即使将创建请求添加到事务请求的请求集合中,您仍然会遇到错误?是的,不幸的是更新了我的答案。您的组织版本不支持(仅2015年,不支持更新1)