Cloud Foundry中基于Java(Spring Boot)的CAP的OData V2

2020-08-13 11:39发布

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

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


我正在尝试构建一个MTA,其中包括Java服务模块和基于Fiori Elements的UI5应用程序。 我从WebIDE的" SAP Cloud Platform业务应用程序"模板开始,实现了这些目标,但后来意识到, https://cap.cloud.sap/docs/java/provisioning-api 仅在Spring Boot环境中有效。

然后,我基于" cds init"方法启动了一个新项目,该方法是Spring引导应用程序。 我已经成功地将其转换为MTA,并能够将其部署到CF。 与WebIDE模板的解决方案相比,现在我的端点是OData V4。

服务模块的日志显示:

 c.s.c.f.s.c.adapter.AdapterBeanFactory:Servlet CdsODataV4Servlet映射到/odata/v4 

这似乎是CAP框架类,最终为CDS数据模型提供服务。 我无法确定是否可以更改它来代替OData V2。 在package.json中,我看到了一个部分:

" odata":{
     " version":" v4"
 }
 

但是从" v4"更改为" v2"只会中断服务。

我已经看过cds-odata-v2-adapter-proxy,但是我不确定如何处理它。 我是否必须将节点模块添加到MTA并通过转换其他服务来提供V2服务?

如果我要坚持使用Java,想要使用CAP文档中所述的事件处理,并且想要提供V2服务,我还有什么其他选择?

谢谢

丹尼尔

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

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


我正在尝试构建一个MTA,其中包括Java服务模块和基于Fiori Elements的UI5应用程序。 我从WebIDE的" SAP Cloud Platform业务应用程序"模板开始,实现了这些目标,但后来意识到, https://cap.cloud.sap/docs/java/provisioning-api 仅在Spring Boot环境中有效。

然后,我基于" cds init"方法启动了一个新项目,该方法是Spring引导应用程序。 我已经成功地将其转换为MTA,并能够将其部署到CF。 与WebIDE模板的解决方案相比,现在我的端点是OData V4。

服务模块的日志显示:

 c.s.c.f.s.c.adapter.AdapterBeanFactory:Servlet CdsODataV4Servlet映射到/odata/v4 

这似乎是CAP框架类,最终为CDS数据模型提供服务。 我无法确定是否可以更改它来代替OData V2。 在package.json中,我看到了一个部分:

" odata":{
     " version":" v4"
 }
 

但是从" v4"更改为" v2"只会中断服务。

我已经看过cds-odata-v2-adapter-proxy,但是我不确定如何处理它。 我是否必须将节点模块添加到MTA并通过转换其他服务来提供V2服务?

如果我要坚持使用Java,想要使用CAP文档中所述的事件处理,并且想要提供V2服务,我还有什么其他选择?

谢谢

丹尼尔

付费偷看设置
发送
3条回答
樱桃小丸子0093
1楼-- · 2020-08-13 12:02

我没有尝试过这种组合,但是可以肯定的是,您将需要使用代理。 在处理MTA项目时,我认为需要多带带的代理模块。 您也可以尝试将其添加到根文件夹中。

本教程可能会帮助您 https://developers.sap.com/tutorials/cap-cloudsdk-2-v2-adapter.html


Kr,Wouter

Nir深蓝
2楼-- · 2020-08-13 12:11

嗨。 我不再使用Java,现在仅将Node.js用于CAP开发。 此外,我不使用任何OData V2 Fiori Elements UI,但是(非正式地)可用于V4的ListReport和ObjectPage模板(在较新的UI5版本中为path sap.fe.templates),您可以从中推断出它的用法 示例)。 从理论上讲,我认为 Wouter Lemaire 所提出的建议是可行的,即,在 MTA围绕Java服务提供的内容并将其发布为V2,但我从未真正尝试过。 官方CAP文档在问候方面表示 Java和V2。 由于回购交易是定期维护的,因此我假设此示例演示了如何使用 包装器,但这是一个纯Node.js项目,我还没有亲自尝试过。

顺便说一句:您了解SAP导师 Slack ? 在#CAP通道中,您还可以尝试找到对此用例有所了解的人。

BR,丹尼尔

d56caomao
3楼-- · 2020-08-13 12:14

丹尼尔·根特您好,我正在尝试 类似于我在Java中有一个服务模块,并且希望公开Odata服务的V2版本,因此我的现有UI可以进行任何更改。 您找到解决方案了吗? 任何提示将不胜感激。 谢谢!

一周热门 更多>