点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我想知道如何使CAP服务接收和处理任意有效载荷? 背景:CAP应用程序应为另一个应用程序X提供Webhook,以向其提交通知。 X发送类似 https://cloudevents.io/负载的内容。
首先,我尝试为与期望的有效负载匹配的实体建模,但是由于有效负载包含与CDS语法不兼容的名称,因此该方法不起作用。
然后,我尝试了一个动作和一个自定义实现的简单服务。 这是因为请求已成功通过204发布到操作中。但是,在我的自定义实现中找不到有效负载。
service EventsService { 动作notify(); }
module.exports = srv => { srv.on('notify',async(req)=> { console.log(req.data); }) }
有效负载示例
{"事件类型":" SalesQuote.Root.Updated","事件类型版本":" v1","事件ID":" 00163e87-5338-1eda-a0dd-83d76d55a94a","事件 -time":" 2020-04-20T09:48:41Z", " data":{" root-entity-id":" 00163E8753AA1EDA9CE545168DEE707B"," entity-id":" 00163E8753AA1EDA9CE545168DEE707B"}}
req.data为空。 我想这是有道理的,因为我对动作建模时没有任何参数。 我浏览了req ._。req,但也找不到那里的有效载荷。
我尝试了除JSON之外的有效负载内容类型,但无法将其反序列化。
在CAP服务中是否可以访问任意有效载荷数据? 我的方法是否可行,是否有另一种模式来实现Webhook通知?
最诚挚的问候,
Manuel
嗨曼努埃尔,
几天前我在 此处收到的答案可能会有所帮助。 >
根据您需要处理的数据,它可能会很有用。 就我而言,它必须简单地返回一个字符串和一个返回码。 我只需在快速服务器文件中添加以下行即可解决我的要求:
希望这会有所帮助。
最诚挚的问候
Marc
这里有人对我的原始问题有见解吗? 我将如何使用CAP构建服务,并使用该服务接收和处理任意有效载荷。 喜欢接收XML文档,甚至是二进制文件?
嗨,
>>首先,我尝试为与期望的有效负载匹配的实体建模,但是由于有效负载包含与CDS语法不兼容的名称,因此无法正常工作。
您是否尝试引用它,例如
我确实使用了类似的东西:添加了我自己的快速路由器,并在处理传入的XML文档之后,通过企业消息将所有传入的消息发送到CAP应用程序的其余部分。 因此,我仍然可以在附加到消息传递主题的CAP处理程序中编写业务逻辑。
我也找不到它的任何文档,但是我在构建过程中发现了一条警告,建议在引号属性标识符上使用![]语法。
一周热门 更多>