Warm tip: This article is reproduced from serverfault.com, please click

sap cloud sdk-无法在批处理模式下为 ContactOriginData PATCH 设置强制性标头

(sap cloud sdk - Unable to set mandatory headers for ContactOriginData PATCH in batch mode)

发布于 2021-03-05 21:33:27

按照集成指南联系我们的ODataSap-Cuan-SequenceId更新ContactOriginData记录时,标题是强制性的。在单例模式下更新时,我可以按如下方式设置此标头,并且可以正常工作:

service
  .updateContactOriginData(contact)
  .withHeader("Sap-Cuan-SequenceId", "PatchUpdate")
  .executeRequest(destination);

但是,在批处理模式下执行相同更新时,没有设置此标头的选项:

service
  .batch()
  .beginChangeSet()
  .updateContactOriginData(contact)
  .withHeader(...) // this option does not exist
  .endChangeSet()
  .executeRequest(destination);

当我运行批处理时,我的 SAP 导入监视器显示错误:

Invalid content in field Sap-Cuan-SequenceId

是否可以在批处理模式下设置此标头,而我只是不知道如何设置?我正在使用3.39.0SDK 的版本任何帮助将不胜感激!

谢谢!

Questioner
kurts
Viewed
0
Artyom Kovalyov 2021-03-06 08:59:43

这显然是一个实现缺陷。SDK在 OData v4 客户端中OData BATCH提供了一个新的 API,它不应该有这个问题。提到的服务仅公开 OData v2,而 OData v2 BATCH 实现在历史上是不同的。出于兼容性原因,它必须保持这样。我们计划提供一个并行实现以使其与 OData v4 保持一致并修复许多次要和主要的不一致。

如果这非常紧急,我们可以尝试使用 SDK 的通用 OData 客户端提供解决方法,否则会在此GitHub 存储库中产生问题,SDK 团队将在发布添加标头的修复程序时更新你。