Dynamics CRM Web服务执行返回“服务器无法处理请求”。

时间:2012-12-09 14:21:19

标签: web-services dynamics-crm dynamics-crm-4

我在这里疯狂使用DCRM网络服务,

我正在尝试动态创建两个潜在客户之间的连接。 我收到以下错误:

"0x80040216
  An unexpected error occurred.
  Platform
  An unexpected error occurred.

Type:Microsoft.Crm.CrmException ErrorCode:0x80040216
Object reference not set to an instance of an object."

这是我的代码:

Guid connectionRoleID = new Guid("64f33a74-0342-e211-b55e-00155d00041e");
connectionroleobjecttypecode connroleobjecttypecode = new connectionroleobjecttypecode() { connectionroleid = new Lookup(){Value = connectionRoleID}, associatedobjecttypecode = EntityName.lead.ToString()};

connection conn = new connection();
List<Property> list = new List<Property>();

Lookup lookup = new Lookup();
lookup.Value = customers[i].ID.Value.Value;
lookup.name = EntityName.lead.ToString();

Lookup lookup2 = new Lookup();
lookup2.Value = customers[j].ID.Value.Value;
lookup2.name = EntityName.lead.ToString();

conn.record1roleid = new Lookup() { name = "duplicate", Value = new Guid("64f33a74-0342-e211-b55e-00155d00041e") };
conn.record2roleid = new Lookup() { name = "duplicate", Value = new Guid("64f33a74-0342-e211-b55e-00155d00041e") };
list.Add(new LookupProperty(){Name = "record1id", Value = lookup});
list.Add(new LookupProperty(){Name = "record2id", Value = lookup2});
list.Add(new LookupProperty(){Name = "record1roleid", Value = conn.record1roleid});
list.Add(new LookupProperty() { Name = "record2roleid", Value = conn.record2roleid });

我尝试过跟踪(没有帮助),在事件查看器中我收到错误,但没有有用的信息。

我快死了!请帮忙......: - )

2 个答案:

答案 0 :(得分:0)

我认为这是因为你在做:

conn.record1roleid = new Lookup() { name = "duplicate", Value = new Guid("64f33a74-0342-e211-b55e-00155d00041e") };

name应该是实体的名称,例如联系,领导,事件。在这种情况下,我相信你应该使用:connectionrole。

conn.record1roleid = new Lookup() { name = "connectionrole", Value = new Guid("64f33a74-0342-e211-b55e-00155d00041e") };

我建议你去Sample: Create a Connection (Early Bound)

答案 1 :(得分:0)

为要查找的实体添加类型

Lookup lookup2 = new Lookup();
lookup2.Value = customers[j].ID.Value.Value;
lookup2.name = EntityName.lead.ToString();
**lookup2.type = "lead";**