我构建了一个简单的基于cloud-SDK
的应用程序,用于在Enterprise messaging queue
中添加为Webhook
,以便在事件进入队列时立即接收事件。
我有一个OPTIONS
和POST
函数。OPTIONS
用于与队列进行握手,并且可以正常工作。
现在,当队列中有消息时,它会用POST
块击中我的应用程序,但request body
是空对象。
我已经从postman
尝试了同样的方法,我能够在request body
中接收数据。仅来自Enterprise messaging queue
的数据为空。
相反,为了验证这一点,我使用了一个基于Express
的nodejs
应用程序,在那里我可以接收来自队列的数据。
基于云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 {};
}
截至目前,SAP Cloud SDK for JavaScript不提供任何对企业消息传递的支持。您在这里编写的代码很可能是Nest.js代码,它是一个独立的框架。也就是说,默认情况下,Nest.js确实在后台运行Express.js。所以,如果你已经能够在Express中实现它,那么你应该能够在Nest中实现它。