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

sap cloud sdk-批处理请求出现问题(删除不起作用)

(sap cloud sdk - Trouble with batch requests (DELETE not working))

发布于 2020-12-02 16:22:53

我们正在使用SAP Cloud SDK 3.32.0,并且正在使用批处理请求。发送更改(现有实体的更新)可以正常工作。但是,删除实体(集)失败。我们从SAP网关收到一条消息,说OData批处理请求格式不正确。即使更改集中只有一个删除,也是如此。

经过一些调试和挖掘(在SAP网关上进行跟踪),我们发现网关显然在变更集中的每次更改后都希望有2个空行(根据https://blogs.sap.com/2018/05/06/batch-树液网关请求/)。但是,当我们检查对SAP网关的呼叫时,我们看到只有1个空行。

--batch_8f792254-f381-4d9f-9667-850cd1d33548
content-type: multipart/mixed;boundary=changeset_38bd1293-04f2-497e-af7e-4bacb0787023

--changeset_38bd1293-04f2-497e-af7e-4bacb0787023
content-type: application/http
content-transfer-encoding: binary
content-id: 1

DELETE DienstSet(IndelingsNummer='1',RegelNummer='0000000010',Operatie='0390',OrderID='4108563') HTTP/1.1
Accept: application/json

--changeset_38bd1293-04f2-497e-af7e-4bacb0787023--

--batch_8f792254-f381-4d9f-9667-850cd1d33548--

当我们在请求中的最后--changset...--一行之前添加一个额外的空白行并在SAP网关客户端中使用它时,调用将被执行。

因此,这似乎是SAP Cloud SDK中的错误。它不以某种方式不会生成“批处理”兼容的HTTP请求。

这对我们来说是一个重要问题,我们需要尽快解决。为此有任何修复程序吗?

谢谢,

丹尼

Questioner
Danny Kruitbosch
Viewed
0
Alexander Dümont 2020-12-10 00:51:58

该问题已在最近发布的SAP Cloud SDK版本中修复3.34.1

请更新你项目中的依赖项,并让我们知道它是否适合你。