从SAP Web IDE完整堆栈中的UI5应用程序访问xsodata服务

2020-08-18 00:42发布

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

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


你好,

我正在遵循本指南 介绍了如何在SAP WEB IDE完整堆栈中创建XSODATA服务,以及如何通过同一项目中的HTML5组件访问它们。

指南讨论的是创建示例UI5应用程序,访问模型euro.xsodata(第41页),将其作为目标添加到UI应用程序的xs-app.json文件中,然后将目标添加到 mta.yaml文件指向euro.xsodata服务所在的nodejs应用程序。

我已按照步骤操作,但是ui5应用无法连接到nodejs xsodata服务。 我有种感觉,它无法读取xs-app.json文件中的参数,即使我使用一些随机字符破坏了json,应用程序也可以正常运行而无需数据。

浏览器控制台中显示以下错误:

xs-app.json:

 {" welcomeFile":
 "/ui5hana/index.html","authenticationMethod":
 "无","注销":
 {" logoutEndpoint":
 "/img/do/logout"},"路线":
 [{"资源":
 " ^/ui5hana/(.*)$","目标":
 " $ 1"," localDir":
 " webapp"},{"源":
 " ^/euro.xsodata/(.*)$","目标":
 " tinyjs_be"}]} 

mta.yaml:

-名称:tinyjstype:nodejs路径:tinyjs提供:-名称:tinyjs_api属性:url:'$ {default-url}'要求:-名称:hanamod-名称:hdi_hanamod-名称:ui5hanatype:html5路径:ui5hana参数: 磁盘配额:256M内存:256M构建参数:构建器:grunt要求:-名称:tinyjs_api属性:名称:tinyjs_be网址:
 〜{url}组:destinationsProject屏幕截图:
 

项目屏幕截图:

任何指针将不胜感激。 谢谢!

(48.3 kB)

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

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


你好,

我正在遵循本指南 介绍了如何在SAP WEB IDE完整堆栈中创建XSODATA服务,以及如何通过同一项目中的HTML5组件访问它们。

指南讨论的是创建示例UI5应用程序,访问模型euro.xsodata(第41页),将其作为目标添加到UI应用程序的xs-app.json文件中,然后将目标添加到 mta.yaml文件指向euro.xsodata服务所在的nodejs应用程序。

我已按照步骤操作,但是ui5应用无法连接到nodejs xsodata服务。 我有种感觉,它无法读取xs-app.json文件中的参数,即使我使用一些随机字符破坏了json,应用程序也可以正常运行而无需数据。

浏览器控制台中显示以下错误:

xs-app.json:

 {" welcomeFile":
 "/ui5hana/index.html","authenticationMethod":
 "无","注销":
 {" logoutEndpoint":
 "/img/do/logout"},"路线":
 [{"资源":
 " ^/ui5hana/(.*)$","目标":
 " $ 1"," localDir":
 " webapp"},{"源":
 " ^/euro.xsodata/(.*)$","目标":
 " tinyjs_be"}]} 

mta.yaml:

-名称:tinyjstype:nodejs路径:tinyjs提供:-名称:tinyjs_api属性:url:'$ {default-url}'要求:-名称:hanamod-名称:hdi_hanamod-名称:ui5hanatype:html5路径:ui5hana参数: 磁盘配额:256M内存:256M构建参数:构建器:grunt要求:-名称:tinyjs_api属性:名称:tinyjs_be网址:
 〜{url}组:destinationsProject屏幕截图:
 

项目屏幕截图:

任何指针将不胜感激。 谢谢!

(48.3 kB)
付费偷看设置
发送
5条回答
小熊yu生菜
1楼-- · 2020-08-18 01:12

您如何在UI5中访问该服务? 根据您的xs-app.json,看起来路径应该是

/euro.xsodata/euro.xsodata/$metadata 

这不是您的UI5代码所击中的。 您可能想要更正xs-app.json中的源以及正在访问该服务的任何UI5代码,或者更正manifest.json(如果已定义该源)。

d56caomao
2楼-- · 2020-08-18 01:14

是的 ,这实际上不是正确的处理方法:)我认为您只是一个URL映射问题,需要花一些时间来调整服务模块和xs-app.json文件,以了解路由的工作方式。

SKY徐
3楼-- · 2020-08-18 01:12

我最终通过将xsodata服务添加为新云中新的http odata目标的一部分来使其工作,然后在manifest.json中添加了数据源,从而访问了该odata服务并 一个访问该数据源的新模型。

它可以工作-但我认为这是在同一MTA项目中访问服务的一种绕行方式。

如果还有其他建议,请告诉我。

谢谢

CPLASF-自律
4楼-- · 2020-08-18 01:27

我只是说,您在模型中访问的URL看起来与xs-app.json中定义的URL不同。 给定您共享的xs-app.json,我认为您的模型应如下所示:

 var oModel = newsap.ui.model.odata.ODataModel(" euro.xsodata/euro.xsodata",true)

您还应该真正切换到v2模型( https://sapui5.hana.ondemand.com/#/api/sap.ui.model.odata.v2.ODataModel ),因为您使用的API已弃用。

d56caomao
5楼-- · 2020-08-18 01:20

嗨,Ethan,

感谢您的答复。

我正在通过示例中给出的index.html示例代码访问该服务,即:

 
 

您为什么认为它采用/euro.xsodata/euro.xsodata/$metadata这样的路径?

错误消息仅显示一次/euro.xsodata。

我试图通过manifest.json使它工作,但是我不确定如何在manifest.json上正确添加模型。 过去,当我在SAP Cloud上使用Neo平台时,我可以在neo中添加一个目标,并通过http目标类型访问odata服务,但是在这种情况下,因为UI5和node.js模块都在同一个项目中 ,我不确定该如何交叉引用。 您知道如何配置manifest.json文件才能使其正常工作吗?

谢谢

LM

一周热门 更多>