【发布时间】:2019-05-07 18:02:43
【问题描述】:
我正在尝试创建一个 Azure 函数以从 Dynamics 365 CE 实例中删除一些数据。计划是使用 D365 WebAPI 和批量操作请求来建立它。
目前在创建批处理请求后发送请求时遇到问题。
我一直在参考 Microsoft 的此文档: https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/webapi/execute-batch-operations-using-web-api
代码如下:
var batchId = Guid.NewGuid().ToString();
log.LogInformation($"Batch Request Id = {batchId}.");
HttpRequestMessage deleteBatchRequestMessage = new HttpRequestMessage(HttpMethod.Post, "$batch");
deleteBatchRequestMessage.Content = new MultipartContent("mixed", "batch_" + batchId);
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(d365Url);
// Default Request Headers needed to be added in the HttpClient Object
client.DefaultRequestHeaders.Add("OData-MaxVersion", "4.0");
client.DefaultRequestHeaders.Add("OData-Version", "4.0");
client.DefaultRequestHeaders.Add("Prefer", "odata.include-annotations=\"OData.Community.Display.V1.FormattedValue\"");
d365HttpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// Set the Authorization header with the Access Token received specifying the Credentials
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", d365Token);
HttpResponseMessage response = await client.SendAsync(deleteBatchRequestMessage);
var ass = await response.Content.ReadAsStringAsync();
但我不断收到异常: 缺少“内容类型”标头。必须为批处理消息的每个 MIME 部分指定 'Content-Type' 标头。","ExceptionMessage":"缺少 'Content-Type' 标头。必须为批处理消息的每个 MIME 部分指定 'Content-Type' 标头。"
【问题讨论】:
标签: dynamics-crm microsoft-dynamics dynamics-365 batch-delete