2

私はデバッグできないようなエラーが表示されています。カスタムHTML/JavaScript Webリソースを使用してカスタムアクティビティエンティティを作成しようとしています。Web API経由でレコードを作成しようとすると「宣言されていないプロパティ」

var params = { 
    '[email protected]': '/rob_faqs(guid-here)', 
    'rob_source': 180840000, 
    'subject': 'Signpost', 
    'actualstart': new Date(), 
    'actualend': new Date() 
}; 

このURLに渡されます:次のヘッダーで

https://dynamicsorg/api/data/v8.2/rob_quickactions/ 

xhr.setRequestHeader('OData-MaxVersion', '4.0'); 
xhr.setRequestHeader('OData-Version', '4.0'); 
xhr.setRequestHeader('Accept', 'application/json'); 
xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8'); 
xhr.setRequestHeader('Prefer', 'return=representation'); 

これは私与え

は、ユーザーがボタンをクリックし、次のparamsをクリックHTTPコード400 (bad request)とこのエラーメッセージ:

An undeclared property 'rob_faqid' which only has property annotations in the payload but no property value was found in the payload. In OData, only declared navigation properties and declared named streams can be represented as properties without values. 

興味深いことに、私が実際のGUIDを使用しているかどうか、またはそこに何か不器用な言葉を入れても(この値は渡される値とは関係ないことを示唆しています)、このエラーが発生します。

標準フォームを使用してレコードを手動で作成することができます。

私は同じプロジェクト内の他の場所でエラーなしでodata.bindを使用しています。

+0

空白として識別されているため、送信している値が認識されていないようです。サービスはどのような形式を予期していますか? – Duane

答えて

3

良い夜の眠りの後、私はエラーを認識しました。ルックアップフィールドの値を設定するには、プロパティ名ではなく、リレーションシップスキーム名を使用する必要があります。

これを変更すると、すべて正常に機能しました。

関連する問題