Powerapps Model Driven / Dynamics Client APIにリクエストを送信するときに、クエリ文字列のいずれかに誤りがあると、空白のエラー オブジェクトが返されます。応答本文にエラー オブジェクトが含まれていても、解析されません。
上でリンクされた のドキュメントの例に従って、retrieveMultipleRecords
というユーザーへのルックアップ フィールドを持つエンティティがありますnew_OfferedBy
。それを特定のユーザーにフィルタリングするには、 でフィルタリングする必要があります/systemuserid
。プロパティの名前が間違っていると (大文字と小文字が区別されます)、400 応答が返されます。以下の例では、400 レスポンスが返されます。
// this query looks for the systemuser property when it should look for systemuserid
// this.currentUser returns the guid of the current user
var query = "?$filter=new_OfferedBy/systemuser eq (" + this.currentUser() +")";
Xrm.WebApi
.retrieveMultipleRecords("new_lastaskswap", query)
.then(
function success(result) {
console.log("Result Success:");
console.log(result);
// perform additional operations on retrieved records
},
function (error) {
console.log("Error from .then():");
console.log(error);
// handle error conditions
}
)
次の情報がコンソールに出力されますが、これはまったく役に立ちません。
{errorCode: 2147951872, message: "", code: 2147951872, innerror: undefined}
ただし、Chrome devtools でリクエストからの実際のレスポンスを見ると、レスポンスの本文にエラーを説明する便利な方法で JSON が入力されていることがわかります。
API が 400 を返したときに応答本文が解析されないのはなぜですか? これは予期された動作ではありませんか?