2

更新:这里是营销列表实体元数据。向下滚动,您可以看到多对多关系,在那里您可以看到我正在尝试使用的 listcontact_association。

我正在尝试将联系人与营销列表相关联。这就是我想要使用的(基本上是用uri发布一个json):

 curl --ntlm -u username:password -X POST -H "Content-Type: application/json" -d '{"uri":"http://hostname/XRMServices/2011/OrganizationData.svc/ContactSet%28guid%27<guid>%27%29"}' 'http://hostname/XRMServices/2011/OrganizationData.svc/ListSet%28guid%27<guid>%27%29/$links/listcontact_association'

这是我从 crm 收到的:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
  <code>-2147220989</code>
  <message xml:lang="fi-FI">Invalid role specified for entity 'list'in relationship 'listcontact_association.Referenced'</message>
  <innererror>
    <message>Invalid role specified for entity 'list'in relationship 'listcontact_association.Referenced'</message>
    <type>System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=<token>]]</type>
    <stacktrace>   at Microsoft.Crm.Extensibility.OrganizationDataServiceUpdateProvider.System.Data.Services.IUpdatable.SaveChanges()&#xD;
   at System.Data.Services.DataService`1.HandleNonBatchRequest(RequestDescription description)&#xD;
   at System.Data.Services.DataService`1.HandleRequest()</stacktrace>
  </innererror>
</error>

如果我删除这些$links部件,我会得到一个不同的错误:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
  <code></code>
  <message xml:lang="fi-FI">Error processing request stream. The property name 'URI' specified for type 'Microsoft.Crm.Sdk.Data.Services.List' is not valid.</message>

这会让我相信我应该尝试将这个人与其他一些关系联系起来,但我无法访问 CRM 来找出这一点,并且文档并没有真正的帮助:(任何线索?

4

2 回答 2

0

您可以使用此处列出的 SDK 调用吗?

该示例使用 SDK.REST.associateRecords 函数:

SDK.REST.associateRecords(parentAccount.AccountId,
    "Account",
    "Referencedaccount_parent_account",
    childAccount.AccountId,
    "Account");
于 2013-07-05T12:15:14.150 回答
0

我仍然不确定这是否可以通过 REST 端点实现。我们发现 SOAP 端点提供了 REST 端点没有的功能,这可能就是其中一种情况。

我所做的是改用 SOAP 端点。没有内置的方法,所以我不得不使用通用的方法。在这种情况下,这是一个组织请求,我将请求名称设置为“AddMemberList”。

于 2014-05-21T06:19:39.623 回答