【问题标题】:400 - Bad request while inserting record for lookup field400 - 为查找字段插入记录时出现错误请求
【发布时间】:2018-01-12 14:32:15
【问题描述】:

我正在使用 Microsoft Dynamics 365 并使用 Web API 方法访问其数据库。

在这里,我有一个查找类型的字段,并且具有如下查找值:

在这里,考虑它的代码值如下:

Pending: 101
Booked : 102
...

我作为 JSON 数据传递的是:

{
    "statuscode":"101"
}

我也试过如下:

"statuscode":101
"statuscode":"Booked"

但它们都不适合我。有人可以指导我吗?

编辑 1:PUT 请求

[ { "状态码":101, "状态码":0 }, { “状态码”:101,“状态码”:0 } ]

StringBuilder requestURL;
requestURL = new StringBuilder();
requestURL.Append(GenerateRequestURL(entityName));
requestURL.Append("(" + strGuID + ")");
HttpContent content = new StringContent(jsonFormattedData, Encoding.UTF8, "application/json");

Dictionary<string, string> returnValue;
HttpResponseMessage responseMessage;
returnValue = new Dictionary<string, string>();
try
{
    HttpClient httpClient = SetUpCRMConnection();
    HttpRequestMessage request;
    request = new HttpRequestMessage(httpMethod, requestUrl);
    request.Content = content;
    responseMessage = httpClient.SendAsync(request).Result;
    return GetFormattedResponse(responseMessage);
}

【问题讨论】:

  • 您能否包含示例 POST 请求和响应?
  • @OndrejSvejdar,我已经编辑了我的问题以添加请求的示例代码。

标签: c# dynamics-crm dynamics-crm-365 dynamics-crm-webapi microsoft-dynamics-webapi


【解决方案1】:

首先,这不是查找。这是选项列表,又名选项集。

那么 statecode (status/state) & statuscode (status reason) 是conjoined twins。您必须同时设置两者,最重要的是 - 它们应该是有效的组合。

例如:

这是为了让帐户将其设置为非活动状态。

// State code value
account["statecode"] = 1;
//  status reason Value
account["statuscode"] = 2;

同样,您的实体也有这种组合,将它们放在一起。

类似这样的:

entity["statecode"] = 1; //check this for "Active" in Status dropdown
entity["statuscode"] = 101; //for pending

【讨论】:

  • 这真的很有帮助,因为我完全不知道这个概念。实际上我有这样的 2 个字段: - statecode - 0 / 1 - statuscode - 101/102/103 我已经尝试了所有可能的组合,但仍然出现 400 错误。你能告诉我,我怎样才能在CRM数据库中找到哪些字段是“连体双胞胎”?或者有什么选项可以检查吗?
  • @PratikSoni 我猜你有 2 个状态码属性。一种是 OOB 状态码 100000000,另一种是自定义 new_statuscode 101。OOB 属性状态码和状态码是按相同顺序授权的。你可以参考sdk/开发者指南..
  • 并非如此。我只有一个“状态代码”。也许我编辑的评论让你感到困惑,让我再次更正。
  • @PratikSoni 检查变量“strGuID”的值,如果它包含 {},则将其删除。还有为什么 jsonformatted 数据有两次?
  • 哦!谢谢@ArunVinoth。你的观点解决了我的问题。我的代码期望 status code 的单个值而不是它的列表。问题已解决,感谢您的帮助。
猜你喜欢
  • 2019-12-20
  • 2016-12-08
  • 2016-03-11
  • 1970-01-01
  • 2019-07-17
  • 2013-09-27
  • 2015-08-18
  • 2019-05-03
  • 2015-11-15
相关资源
最近更新 更多