我构建了一个简单的基于cloud-SDK
的应用程序,将其作为Webhook
添加到Enterprise messaging queue
中,以便在事件进入队列后立即接收事件。
我具有OPTIONS
和POST
功能。 OPTIONS
用于与队列握手,它可以工作。
[现在,当队列中有消息时,它以POST
块命中了我的应用程序,但request body
作为空对象来了。
我已经尝试过从postman
中获得相同的结果,我可以在request body
中接收数据。仅从Enterprise messaging queue
开始,数据为空。
相反,为了验证这一点,我使用了基于Express
的nodejs
应用程序,因此我能够从队列中接收数据。
基于Cloud-SDK的代码中我缺少什么?
POST块,看起来像这样
@Post('ems-events')
receiveEmsEvents(@Body() requestBody: string, @Req() req:Request) {
Logger.log("Event Received with Data:");
Logger.log(requestBody);
Logger.log(req.body);
Logger.log("Log over--");
Logger.log(Object.keys(req));
return {};
}
截至目前,用于JavaScript的SAP Cloud SDK尚未提供对企业消息传递的任何支持。您在此处编写的代码很可能是Nest.js代码,它是一个独立的框架。话虽如此,Nest.js确实在默认情况下在后台运行Express.js。因此,如果您能够使其在Express中运行,那么您应该能够使其在Nest中运行。