C# Dynamics crm 2011 Web服务问题
我一直被困在一个问题,显然有一个小修复,但我花了几十年。 我是一名CRM sharepoint dynamics等noob。然而,我已经设法在这方面做了一些工作。 我拥有的是CRM 2011网络服务 我在项目中添加了wsdl路径作为服务引用。这为我创建了Reference.cs类 这是抛出一个奇怪错误的代码C# Dynamics crm 2011 Web服务问题,c#,web-services,dynamics-crm-2011,C#,Web Services,Dynamics Crm 2011,我一直被困在一个问题,显然有一个小修复,但我花了几十年。 我是一名CRM sharepoint dynamics等noob。然而,我已经设法在这方面做了一些工作。 我拥有的是CRM 2011网络服务 我在项目中添加了wsdl路径作为服务引用。这为我创建了Reference.cs类 这是抛出一个奇怪错误的代码 ServiceReference1.OrganizationServiceClient obj = new ServiceReference1.OrganizationServiceCli
ServiceReference1.OrganizationServiceClient obj = new ServiceReference1.OrganizationServiceClient();
ServiceReference1.Entity entity = new ServiceReference1.Entity();
entity.LogicalName = "new_project";
entity.Attributes = new ServiceReference1.AttributeCollection();
entity.Attributes.Add(new KeyValuePair<string, object>("new_name", "project2"));
ServiceReference1.OrganizationRequest request = new ServiceReference1.OrganizationRequest() { RequestName = "RetrieveDuplicates" };
request.Parameters = new ServiceReference1.ParameterCollection();
request.Parameters.Add(new KeyValuePair<string, object>("BusinessEntity", entity));
request.Parameters.Add(new KeyValuePair<string, object>("MatchingEntityName", "new_project"));
request.Parameters.Add(new KeyValuePair<string, object>("PagingInfo", new ServiceReference1.PagingInfo() { PageNumber = 1, Count = 50 }));
var response= obj.Execute(request);
obj.Create(entity);
ServiceReference1.OrganizationServiceClient obj=新的ServiceReference1.OrganizationServiceClient();
ServiceReference1.Entity实体=新的ServiceReference1.Entity();
entity.LogicalName=“新建项目”;
entity.Attributes=newServiceReference1.AttributeCollection();
添加(新的KeyValuePair(“新名称”、“项目2”);
ServiceReference1.OrganizationRequest request=新的ServiceReference1.OrganizationRequest(){RequestName=“RetrievedDuplicates”};
request.Parameters=newServiceReference1.ParameterCollection();
添加(新的KeyValuePair(“BusinessEntity”,entity));
添加(新的KeyValuePair(“MatchingEntityName”,“新项目”);
Add(新的KeyValuePair(“PaginInfo”,新的ServiceReference1.PaginInfo(){PageNumber=1,Count=50}));
var响应=对象执行(请求);
对象创建(实体);
代码只是检查我们要添加的“new_project”实体是否是已添加成员的副本
下面是我在obj.execute()上收到的令人讨厌的异常
格式化程序在尝试反序列化
消息:尝试反序列化参数时出错
.
InnerException消息是“第1行位置669中的错误”。元素
'http://schemas.datacontract.org/2004/07/System.Collections.Generic:value'
包含映射到名称的类型中的数据
'http://schemas.microsoft.com/xrm/2011/Contracts:EntityCollection'.
反序列化程序不知道映射到此名称的任何类型。
考虑使用DATACONTractRelver或添加相应的类型
“EntityCollection”到已知类型列表-例如,通过使用
KnownTypeAttribute属性,或将其添加到已知属性列表中
传递给DataContractSerializer“”的类型。请参见内部异常
更多细节
还请注意,我已将Known属性附加到参考中的EntityCollection上。政务司司长
如果您能将我从这个泥潭中拖出来,我将不胜感激请在将KnownType属性应用于EntityCollection的位置添加代码您应该使用dynamics crm sdk。它提供一个OrganizationServiceProxy和适当了解的相关类(包括实体)。如果我没记错的话,Sdk也有很多例子。