2016-12-08 3 views
0

私のカスタムエンティティの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をオンプレミスで使用しています。

+0

多分、プラグインなど、2つのフィールドを一緒に設定すると例外がスローされることがありますか? –

+0

ExcelのインポートまたはIOrganizationServiceアップデートを使用して同じアップデートを実行できますか?ちょうどそれが何とかODataに関係しているかどうかを見たいだけです。 – Daryl

+0

これは本当にユーザーとフラグの値のこの特定の組み合わせでトリガされる私のプラグインのバグのせいです。私はこの質問を削除するだろうが、既に回答があるので、それはもはやオプションではないようだ。 – tsukumogami

答えて

0

SalesPerson IDが有効なシステムユーザーではない可能性がありますか?存在しないGUIDを使用すると、システムはエラーをスローします。

+0

それが私がチェックした最初のものでした。しかし、私が言ったように、私が営業担当者のフィールドだけを更新すれば、すべてが問題ありません。営業担当者とisenabledフラグの両方を更新して、状況が間違っていた場合に限ります。 – tsukumogami

関連する問題