CAP-OData API的$ batch请求

2020-08-17 00:44发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我正在尝试对CDS服务公...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在尝试对CDS服务公开的oData api的批量请求。 我正在此示例存储库中针对书店示例测试请求: https://github.com/git-ashish/cloud-cap-samples ,但始终出现以下错误:

 POST/admin/$ batch
 [2020-03-04T12:04:40.503Z | 警告|  1254189]:预计在位置0处的边界
 [2020-03-04T12:04:40.505Z | 警告|  1254189]:标头已发送
 [2020-03-04T12:04:40.505Z | 警告|  1254189]:标头已发送
 [2020-03-04T12:04:40.505Z | 错误|  1254189]:响应数据已经发送,而响应缓冲区中仍有可用数据
 [2020-03-04T12:04:40.505Z | 警告|  1254189]:标头已发送
 [2020-03-04T12:04:40.506Z | 警告|  1254189]:标头已发送
 [2020-03-04T12:04:40.506Z | 错误|  1254189]:响应数据已经发送,而响应缓冲区中仍有可用数据
 

我不确定问题是否与批处理请求的正文形成方式有关。 任何指针都将不胜感激。

请求是:

 curl --location --request POST'http://localhost:4004/admin/$ batch'\
 --header'内容类型:多部分/混合;  boundary = batch_123'\
 --header'授权:基本YXNoaXNoOg =='\
 --data-raw'--batch_123
 内容类型:多部分/混合;边界= changeset_456
 内容传输编码:二进制


 --changeset_456
 内容类型:应用程序/http
 内容传输编码:二进制


 POST/admin/Authors HTTP/1.1
 内容类型:application/json
 内容长度:50
 接受:application/json


 {
     " ID":101,
     "名称":"艾米莉·勃朗特二世"。
 }
 --changeset_456
 内容类型:应用程序/http
 内容传输编码:二进制


 POST/admin/Authors HTTP/1.1
 内容类型:application/json
 内容长度:48
 接受:application/json


 {
     " ID":221,
     "名称":"福尔摩斯"
 }
 --changeset_456--


 --batch_123--'
 

在HTTP中:

 POST/admin/$ batch HTTP/1.1
 主机:localhost:4004
 内容类型:多部分/混合;  boundary = batch_123
 授权:基本YXNoaXNoOg ==


 --batch_123
 内容类型:多部分/混合;边界= changeset_456
 内容传输编码:二进制


 --changeset_456
 内容类型:应用程序/http
 内容传输编码:二进制


 POST/admin/Authors HTTP/1.1
 内容类型:application/json
 内容长度:50
 接受:application/json


 {
     " ID":101,
     "名称":"艾米莉·勃朗特二世"。
 }
 --changeset_456
 内容类型:应用程序/http
 内容传输编码:二进制


 POST/admin/Authors HTTP/1.1
 内容类型:application/json
 内容长度:48
 接受:application/json


 {
     " ID":221,
     "名称":"福尔摩斯"
 }
 --changeset_456--


 --batch_123--
 
4条回答
追夢秋陽
2020-08-17 01:02

嗨, Ashish Singh,

这仍然对您有用吗? 如果我在帽应用程序中尝试此操作,则会出现以下错误:

 {
   "错误":{
     "代码":" 400",
     " message":"第'0'行的Content-Type应该为'multipart/mixed',但为'application/json'。"
   }
 } 

似乎如此,仅支持" multipart/mixed"。

能否请您确认JSON批仍在工作?

最诚挚的问候,

Chris

一周热门 更多>