SAP CAP ACTION不返回任何数据

2020-08-17 15:56发布

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

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


大家好,

我已经在SAP CAP服务中创建了一个动作。 它应该返回一个JSON字符串,但是它返回的是 204 No Content

步骤如下:

  1. 定义了操作
 action wfDetails(wfRequestId:String)返回String;
//这里有一个附带问题。 是否有JSON返回类型。 由于响应是一个巨大的自定义JSON,其中包含许多
//很深的层次,创建实体定义可能很困难
 

2。 为动作创建了自定义处理程序

 srv.on('wfDetails',async(req)=> {
     var wfRequestId = req.data.wfRequestId;
     var response = await getUserWFdetails(wfRequestId);
     返回响应;
     });
 

3。 上面调用的" getUserWFdetails"函数异步调用第三方api,并返回JSON字符串,但是在可以将其发送回响应之前,我从服务中得到 204 no content

当我只返回硬编码的字符串时,它正在发送,但是未返回JSON输出。 仅供参考,我已在控制台中记录了JSON,并获取了正确的JSON字符串,但未返回。

我要去哪里了? 有人可以解决这个问题吗?

预先感谢,
Harish

(64.9 kB)

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

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


大家好,

我已经在SAP CAP服务中创建了一个动作。 它应该返回一个JSON字符串,但是它返回的是 204 No Content

步骤如下:

  1. 定义了操作
 action wfDetails(wfRequestId:String)返回String;
//这里有一个附带问题。 是否有JSON返回类型。 由于响应是一个巨大的自定义JSON,其中包含许多
//很深的层次,创建实体定义可能很困难
 

2。 为动作创建了自定义处理程序

 srv.on('wfDetails',async(req)=> {
     var wfRequestId = req.data.wfRequestId;
     var response = await getUserWFdetails(wfRequestId);
     返回响应;
     });
 

3。 上面调用的" getUserWFdetails"函数异步调用第三方api,并返回JSON字符串,但是在可以将其发送回响应之前,我从服务中得到 204 no content

当我只返回硬编码的字符串时,它正在发送,但是未返回JSON输出。 仅供参考,我已在控制台中记录了JSON,并获取了正确的JSON字符串,但未返回。

我要去哪里了? 有人可以解决这个问题吗?

预先感谢,
Harish

(64.9 kB)
付费偷看设置
发送
3条回答
Violet凡
1楼-- · 2020-08-17 16:29

嗨,

"响应"中数据的结构是什么? 它必须与您在操作的返回部分中定义的类型匹配。难道响应是一个JSON对象? 您返回的字符串与响应类型不匹配。

Kr,Wouter

Climb_Ma
2楼-- · 2020-08-17 16:27

您是否在返回行中设置了断点并检查是否已填充响应?

闻人可可
3楼-- · 2020-08-17 16:47

您好 Wouter Lemaire 格雷戈·沃尔夫

感谢您的投入。 这个问题似乎是异步的,我首先使用return,然后尝试使用req.reply,但是两种方式都无法获得输出。 最终,我如下修改了代码(以使用我更熟悉的Express api)并开始工作:

 var wfRequestId = req.data.wfRequestId;
 var res = req ._。req.res;
 让数据=等待getUserWFdetails(wfRequestId);
 res.send(data); 

感谢与问候,

Harish

一周热门 更多>