我正在修改我的自定义实体上的2个字段,第一个字段是链接到systemuser实体的查找字段,第二个字段只是一个两个选项字段。
这是我发送给Odata终点的JSON数据:
{
"new_saleperson":
{
"__metadata": {"type":"Microsoft.Crm.Sdk.Data.Services.EntityReference"},
"Id":"<My ID>",
"LogicalName":"systemuser",
"Name":"<My Name>"
}
,"new_isenabled":true
}
标题:
Content-Type: application/json
X-HTTP-Method: MERGE
但是,我收到以下错误:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<error
xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code>-2147220891</code>
<message xml:lang="ja-JP">The source was not found, but some or all event logs could not be searched. To create the source, you need permission to read all event logs to make sure that the new source name is unique. Inaccessible logs: Security.</message>
</error>
奇怪的是,如果我一次更新1个字段,那么一切都按预期进行。换句话说,以下JSON数据可以设置new_saleperson字段:
{
"new_saleperson":
{
"__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.EntityReference"},
"Id": "<My ID>",
"LogicalName": "systemuser",
"Name": "<My Name>"
}
}
以下JSON数据可以将new_isenabled设置为true而没有任何问题:
{
"new_isenabled":true
}
我甚至尝试过一次设置两个字段,但是让new_saleperson为null,它可以工作:
{
"new_saleperson":
{
"__metadata": {"type":"Microsoft.Crm.Sdk.Data.Services.EntityReference"},
"Id":null,
"LogicalName":null,
"Name":null
}
,"new_isenabled":true
}
只是同时设置两个字段,非空值导致错误。我在这里做错了什么?
我正在使用Dynamic CRM 2011内部部署。
答案 0 :(得分:0)
您的SalesPerson Id可能不是有效的系统用户吗?如果您使用的GUID不存在,系统将抛出错误。