点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
HI
我正在使用SAP Cloud Platform Cloud Foundry试用版。 我正在尝试创建一个具有数据库,node.js和ui模块的简单MTA应用程序(名为Test)。 我不想将HANA db连接到我的数据库模块。 我希望CDS Artifacts表中已经存在的数据通过oData服务在node js模块中使用并公开给ui。
我创建了带有CDS工件(名为CDS)和表(名为Parameter)的数据库模块。 我已经通过插入命令在此表中插入了一些记录。 我不想使用Hana db,因此还没有建立Hana db连接和任何其他用户提供的服务。
我创建了一个node.js模块并添加了.xsodata文件,该文件具有以下代码来设置oData服务:
服务名称空间" Test.data.services" {" Test.db :: cds.Parameter"为" Parameters"; }
当我执行节点js模块并通过在节点js网址中添加"/ui.xsodata/Parameters?$format=json"来导航至表时,我可以在浏览器中以JSON格式查看参数表的数据
下一步是创建ui模块。 我们调用Pameters表和代码以表格形式显示数据,如下所示:
getControllerName:function(){ 返回" ui.ui.controller.DBF"; }, /**在实例化Controller之后最初被调用一次。 这是构造UI的地方。 *由于将控制器赋予了此方法,因此可以立即附加其事件处理程序。 * @memberOf controller.DBF */ createContent:函数(oController){ var oModel = new sap.ui.model.odata.v2.ODataModel("/img/ui.xsodata/",{json:true}); oModel.setRefreshAfterChange(true); var oParamsTable = new sap.m.Table({ 模式:sap.m.ListMode.SingleSelectLeft, 列: [ new sap.m.Column({标头:new sap.m.Label({文本:" Parameter ID"})}), new sap.m.Column({标头:new sap.m.Label({文本:" Parameter Description"})}), new sap.m.Column({标头:new sap.m.Label({文本:" Parameter Value"})}) ], 项目:{ 路径:"/img/Parameters", 参数:{ 选择:" Param_Key,Param_Desc,Param_Type" }, 模板:新sap.m.ColumnListItem({ 细胞: [ new sap.m.Text({text:" {Param_Key}"}), new sap.m.Text({text:" {Param_Desc}"}), new sap.m.Text({text:" {Param_Type}"}) ] }) } }); oParamsTable.setHeaderText(" Parameter Table"); oParamsTable.setModel(oModel);
设置DB,JS和UI模块后,我们的MTA如下所示。
问题在于,当我们执行UI模块时,会执行ui代码,但不会从Parameter表中显示数据。 谁能提供确切的问题所在? 我认为UI模块无法选择正确的js服务。 当我看到开发人员工具并检查日志时,用户界面未指向正确的URL。
模块: -名称:db 类型:hdb 路径:db 要求: -名称:hdi_db -名称:js 类型:nodejs 路径:js 提供: -名称:js_api 特性: 网址:" $ {default-url}" 要求: -名称:hdi_db 特性: TARGET_CONTAINER:'〜{hdi-container-name}' -名称:uaa_DBF_Test -名称:ui 类型:html5 路径:ui 参数: 磁盘配额:256M 记忆体:256M 构建参数: 制造商:咕unt声 要求: -名称:uaa_DBF_Test -名称:dest_DBF_Test -名称:js_api 组:目的地 特性: 名称:js_be 网址:"〜{url}" forwardAuthToken:true 特性: TENANT_HOST_PATTERN:"'^(。*)-Jeroen-ui.cfapps。(。*)。hana.ondemand.com'" 资源: -名称:hdi_db 特性: hdi-container-name:" $ {服务名称}" 类型:com.sap.xs.hdi-container -名称:uaa_DBF_Test 参数: 路径:./xs-security.json 服务计划:应用 服务:xsuaa 类型:org.cloudfoundry.managed-service -名称:dest_DBF_Test 参数: 服务计划:精简版 服务:目的地 类型:org.cloudfoundry.managed-service
你好
您仍然面临着同样的问题吗? 这是否有效?。Cloud代工试用帐户也面临同样的问题。 请让我知道这是否对您有用。
此致
乔尔王子
嗨耶隆,
我面临着类似的问题,即来自UI5模块的路由没有被重定向到NodeJS模块服务。
除了如何在MTA中设置目标位置外,我还在xs-app.json文件中为UI5模块定义了路由,如下所述:
它仍然不起作用。
嗨Jeroen,
请阅读我的博客有关如何从前端应用程序到后端服务进行身份验证 通过使用任何HTML5模块(Cloud Foundry)中包含的AppRouter通过目标。
如果您需要查看工作示例,请检查 CAP-云应用程序编程模型。 这个WebIDE模板将在cds构件的帮助下为您创建db和srv,因此您不必亲自创建任何运行时数据库构件,也不必创建odata服务。 将html5应用程序添加到MTA后,它还会添加对AppRouter的支持-因此,您还可以从针对您的用例自动化的路由使用中受益。
我建议您测试此CAP方法,然后检查其工作方式-更具体地说,如何在xs-app.json中指定路由以及如何将JWT令牌转发到您的后端服务 。
最好的问候,
伊万
您好 https://people.sap.com/ashishsingh , https://people.sap.com/jeroen.kusters , https: //people.sap.com/prince.joel ,
尝试几次检查后,我也面临同样的问题,毫无头绪。
您设法解决了这个问题吗? 如果是,您能否分享您是如何解决的?
非常感谢。
此致
寻求。
您好https://people.sap.com/jeroen.kusters ,
我遇到了同样的问题,经过多次检查和广泛的浏览后找到了答案。
您的代码和路线信息可能没有任何问题。
请确保您正在Cloud Foundry目标环境中运行UI模块。 (您可以更改运行配置)
您可以检查并验证在Cloud Foundry目标环境中运行后是否还有其他错误。
此致
寻求n。
嗨, Ashish Singh , Jeroen Kusters ,乔尔王子,
最后我可以解决它,请检查答案,让我知道它是否对您有用。
此致
寻求。
一周热门 更多>