私のカスタムエンティティの2つのフィールドを変更しています。最初のフィールドはsystemuserエンティティにリンクするルックアップフィールド、2番目のフィールドは2つのオプションフィールドです。CRM2011のODataエンドポイントを使用して2つのフィールドの値を一度に設定できません
これは私が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フィールドを更新すれば、すべてが期待どおりになるということです。
{
"new_saleperson":
{
"__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.EntityReference"},
"Id": "<My ID>",
"LogicalName": "systemuser",
"Name": "<My Name>"
}
}
をそして、次のJSONデータは何の問題もなく、真のnew_isenabled設定することができます:他の言葉では、以下のJSONデータがうまくnew_salepersonフィールドを設定することができます
{
"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
}
それnull以外の値で、同時に両方のフィールドを設定すると、エラーの原因となっているだけのこと。私はここで間違って何をしていますか?
私はDynamic CRM 2011をオンプレミスで使用しています。
多分、プラグインなど、2つのフィールドを一緒に設定すると例外がスローされることがありますか? –
ExcelのインポートまたはIOrganizationServiceアップデートを使用して同じアップデートを実行できますか?ちょうどそれが何とかODataに関係しているかどうかを見たいだけです。 – Daryl
これは本当にユーザーとフラグの値のこの特定の組み合わせでトリガされる私のプラグインのバグのせいです。私はこの質問を削除するだろうが、既に回答があるので、それはもはやオプションではないようだ。 – tsukumogami