使用 HttpRequestMessage 更新 CRM 2015 中的记录

本文关键字:记录 2015 CRM HttpRequestMessage 更新 使用 | 更新日期: 2023-09-27 18:34:50

我需要使用 C# 中的 Web API 更新 CRM 2015 中的记录。但是在处理时,我收到此错误"方法不允许"状态代码 405。

下面是一些示例代码。

HttpClient client = new HttpClient(new HttpClientHandler() { Credentials = new NetworkCredential("username", "password", "domain") });
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add(HttpRequestHeader.ContentType.ToString(), "application/json");
HttpRequestMessage retrieveReq = new HttpRequestMessage(HttpMethod.Post, serviceUrl + "SalesOrderSet(guid'" + orderId + "')");
retrieveReq.Headers.Accept.Clear();
retrieveReq.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
retrieveReq.Headers.AcceptLanguage.Add(new StringWithQualityHeaderValue("en-us"));
retrieveReq.Headers.Add(HttpRequestHeader.ContentType.ToString(), "application/json");
retrieveReq.Headers.Add("Prefer", "odata.include-annotations='"*'"");
retrieveReq.Headers.AcceptEncoding.Add(new StringWithQualityHeaderValue("gzip"));
retrieveReq.Headers.AcceptEncoding.Add(new StringWithQualityHeaderValue("deflate"));
retrieveReq.Headers.Host = server_name;
retrieveReq.Headers.Add(HttpRequestHeader.ContentLength.ToString(), "117");
retrieveReq.Headers.Connection.Add("Keep-Alive");
retrieveReq.Headers.Pragma.Add(new NameValueHeaderValue("no-cache"));
var postData = new List<KeyValuePair<string, string>>();
postData.Add(new KeyValuePair<string, string>("name", "value"));
HttpContent content = new FormUrlEncodedContent(postData);
retrieveReq.Content = content;
await client.SendAsync(retrieveReq).ContinueWith(
                     (postTask) =>
                     {
                         postTask.Result.EnsureSuccessStatusCode();
                     });

有什么帮助吗?提前致谢

使用 HttpRequestMessage 更新 CRM 2015 中的记录

错误 405 通常意味着您尝试发送的方法与服务器预期不同的方法(通常 HttpVerb 是错误的(。您正在使用 POST,所以您可以尝试使用 GET 吗?HttpMessage.Get.

编辑:看起来更新操作需要 PATCH 动词。其他人将需要 PUT,删除必须使用 DELETE。

https://msdn.microsoft.com/en-us/library/mt607664.aspx