FIORI应用部署到Fiori服务器后ushell_abap引导失败导致主题404如何解决?
根因分析
你遇到的报错本质是硬编码的公网CDN UI5资源与ABAP Fiori服务器的本地资源、Fiori Launchpad全局配置冲突:
- 本地运行时没有ABAP服务器的FLP上下文,ushell_abap会直接使用你硬编码的
sap_belize主题,所以运行正常; - 部署到ABAP服务器后,ushell_abap会优先读取FLP全局配置的自定义主题
Fiori_LP_Home_Theme,但你硬编码的公网CDN UI5库中不存在这个自定义主题,同时ushell_abap会尝试从ABAP服务器的主题缓存路径拉取主题文件,缓存失效/未生成就会触发404报错。
解决方案
- 移除UI5 bootstrap中硬编码的主题配置,不要强制指定
sap_belize,让ushell自动继承FLP的全局主题参数,避免主题配置冲突 - 将公网CDN的UI5资源路径替换为ABAP服务器的本地UI5资源相对路径,避免跨源资源加载和版本不匹配问题,修改后的index.html代码如下:
<script id="sap-ushell-bootstrap" src="/sap/public/bc/ui5_ui5/1.90.0/resources/sap/ushell_abap/bootstrap/abap.js"></script> <script id="sap-ui-bootstrap" src="/sap/public/bc/ui5_ui5/1.90.0/resources/sap-ui-core.js" data-sap-ui-libs="sap.ushell, sap.collaboration, sap.m, sap.ui.layout, sap.ui.ux3" data-sap-ui-resourceroots='{"cvg.wallapp": "./"}' data-sap-ui-compatVersion="edge" data-sap-ui-async="true" data-sap-ui-frameOptions="trusted" data-sap-ui-bindingSyntax="complex" data-sap-ui-oninit="module:sap/ui/core/ComponentSupport"> </script>
- 登录ABAP后台,执行事务码
/UI5/THEME_TOOL,找到自定义主题Fiori_LP_Home_Theme,针对你使用的1.90.0版本UI5重新生成主题缓存,即可解决主题文件404的问题。 - 确认应用通过FLP入口启动,不要直接访问应用的index.html地址,变体持久化功能依赖FLP的运行时上下文提供的用户、应用标识参数,直接访问index.html会导致该功能失效。
内容的提问来源于stack exchange,提问作者JohannC
相关产品推荐
相关产品推荐

