2020-08-17 06:12发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
这是我使用本地注释通过SAP WebIDE创建的fiori Elements APP
尝试创建新实体(要价)时出现此错误
我通过CAP向myOData服务添加了@ odata.draft.enabled注释,如下所示
请帮助我解决这个问题
谢谢
Mariam
您好 Mariam ID-Manssour ,
您的ID字段的类型为Integer。 在这种情况下,CAP服务不会自动计算ID。 您必须在CREATE之前使用srv。在服务器端进行计算,或者应将ID更改为UUID。 请检查:
https://cap.cloud.sap/docs/ guides/domain-models#primary-keys ->自动填充的主键
此外,我看到您的xs-app.json使用以下目标,但您没有 您的mta.yaml上声明的任何内容。 您是通过Cockpit创建的吗?
ParkingOdataV2-vf
通常,我们要做的是在应用路由器的require会话中输入此信息。
我没有在您的MTA下定义您的Cap服务,因此我无法帮助您直接修复您的MTA。
这里是一个具有应用路由器和Cap服务的Cap应用程序的有效示例。 通过目的地使用:
_schema-version:" 3.1" ID:cap-auth-xsuaa 版本:1.0.0 描述:"一个简单的CAP项目。" 参数: 启用并行部署:true 构建参数: 之前: -建设者:自定义 命令: -npm安装 -npx cds build \/全部 模块: ############## UI模块######################## -名称:cap-auth-xsuaa-ui 类型:nodejs 路径:应用 构建参数: 忽略:[" node_modules/"] 参数: 记忆体:256M 磁盘配额:256M 要求: -名称:cap-auth-xsuaa-uaa -名称:srv-binding 组:目的地 特性: forwardAuthToken:true strictSSL:true 名称:srv-binding 网址:〜{srv-url} #---------------------服务器模块------------------------ -名称:cap-auth-xsuaa-srv 类型:nodejs 路径:gen/srv 构建参数: 忽略:[" node_modules/"] 特性: 退出:1#由deploy.js任务终止 参数: 内存:512M 磁盘配额:256M 提供: -名称:srv-binding 特性: srv-url:$ {default-url} 要求: -名称:cap-auth-xsuaa-uaa 资源: -名称:cap-auth-xsuaa-uaa 类型:com.sap.xs.uaa 参数: 服务:xsuaa 路径:xs-security.json
最好的问候,伊万
您好 伊万·米里索拉(Ivan Mirisola),
是的,主键的自动填充有效并且在前端应用程序上创建新实体不再显示错误的错误提示。
嗨, Mariam ID-Manssour ,
错误 502(错误的网关)通常意味着,虽然预期前端会收到Json响应,但它发现了其他内容-可能是错误,可能是登录页面或404错误。
尝试通过打开OData服务 approuter URL,查看它是否运行并为其中一个实体返回JSON结果。 如果您的应用路由器不允许连接到该服务,请检查您在xs-app.json中声明的目标是否指向mta.yaml中的目标(组:应用路由器要求中的目标)。 如有疑问,请在此处共享这两个文件。
您好,伊凡·米里索拉(Ivan Mirisola),
我已经向邮递员签入了对我的Odata服务的邮寄请求,当在请求正文中插入ID时,邮寄请求可以工作,但是当我不这样做时,它将返回错误502(错误网关),如下图所示: >
我的CAP模型的定义:
命名空间sap.capire.parkingapp; 使用来自'@ sap/cds/common'的{managed,cuid}; 实体优惠:托管{ 密钥ID:整数; owner:字符串; 地点:字符串; dateStart:日期 dateEnd:日期; 描述:字符串; status:字符串默认为'available'; } 实体订单:托管{ 密钥ID:整数; OrderNo:字符串@title:'订单号'; //>可读密钥 要约:要约协会; 受益人:字符串; }
mta.yaml:
ID:mta_ParkingFioriApp _schema-version:" 2.1" 参数: deploy_mode:html5-repo 版本:0.0.1 模块: -名称:mta-parkingfioriapp-approuter 类型:approuter.nodejs 路径:mta-parkingfioriapp-approuter 参数: 磁盘配额:256M 记忆体:256M 要求: -名称:mta_ParkingFioriApp_html5_repo_runtime -名称:dest_mta_ParkingFioriApp -名称:uaa_mta_ParkingFioriApp -名称:mta_ParkingFioriApp_ui_deployer 类型:com.sap.html5.application-content 路径:mta_ParkingFioriApp_ui_deployer 要求: -名称:mta_ParkingFioriApp_html5_repo_host 构建参数: 要求: -名称:ParkingFioriApp 工件: -'./*' 目标路径:资源/ParkingFioriApp -名称:ParkingFioriApp 类型:html5 路径:ParkingFioriApp 构建参数: 制造商:定制 命令: -npm安装 -npm运行构建 支持的平台:[] 构建结果:dist 资源: -名称:mta_ParkingFioriApp_html5_repo_runtime 参数: 服务计划:应用程序运行时 服务:html5-apps-repo 类型:org.cloudfoundry.managed-service -名称:mta_ParkingFioriApp_html5_repo_host 参数: 服务计划:应用托管 服务:html5-apps-repo 类型:org.cloudfoundry.managed-service -名称:uaa_mta_ParkingFioriApp 参数: 路径:./xs-security.json 服务计划:应用 服务:xsuaa 类型:org.cloudfoundry.managed-service -名称:dest_mta_ParkingFioriApp 参数: 服务计划:精简版 服务:目的地 类型:org.cloudfoundry.managed-service
xs-app.json:
{ " welcomeFile":"/test/flpSandbox.html", " authenticationMethod":"路由", "登出": { " logoutEndpoint":"/img/do/logout" }, "路线":[ { " source":" ^/ParkingOdataV2-vf/(.*)$", " target":" $ 1", " authenticationType":"无", "目的地":" ParkingOdataV2-vf", " csrfProtection":false }, { " source":" ^(。*)$", " target":" $ 1", " service":" html5-apps-repo-rt", " authenticationType":" xsuaa" } ] }
最多设置5个标签!
您好 Mariam ID-Manssour ,
您的ID字段的类型为Integer。 在这种情况下,CAP服务不会自动计算ID。 您必须在CREATE之前使用srv。在服务器端进行计算,或者应将ID更改为UUID。 请检查:
https://cap.cloud.sap/docs/ guides/domain-models#primary-keys ->自动填充的主键
此外,我看到您的xs-app.json使用以下目标,但您没有 您的mta.yaml上声明的任何内容。 您是通过Cockpit创建的吗?
通常,我们要做的是在应用路由器的require会话中输入此信息。
我没有在您的MTA下定义您的Cap服务,因此我无法帮助您直接修复您的MTA。
这里是一个具有应用路由器和Cap服务的Cap应用程序的有效示例。 通过目的地使用:
最好的问候,
伊万
您好 伊万·米里索拉(Ivan Mirisola),
是的,主键的自动填充有效并且在前端应用程序上创建新实体不再显示错误的错误提示。
谢谢
Mariam
嗨, Mariam ID-Manssour ,
错误 502(错误的网关)通常意味着,虽然预期前端会收到Json响应,但它发现了其他内容-可能是错误,可能是登录页面或404错误。
尝试通过打开OData服务 approuter URL,查看它是否运行并为其中一个实体返回JSON结果。 如果您的应用路由器不允许连接到该服务,请检查您在xs-app.json中声明的目标是否指向mta.yaml中的目标(组:应用路由器要求中的目标)。 如有疑问,请在此处共享这两个文件。
最好的问候,
伊万
我已经向邮递员签入了对我的Odata服务的邮寄请求,当在请求正文中插入ID时,邮寄请求可以工作,但是当我不这样做时,它将返回错误502(错误网关),如下图所示: >
我的CAP模型的定义:
mta.yaml:
xs-app.json:
一周热门 更多>