需要从 SAP Fiori 中的其他主机加载 UI5 模块
Need to load the UI5 Module from Other Host in SAP Fiori
我们有 2 个应用程序,一个是部署在 SAP ABAP 存储库中的 SAP Fiori 应用程序,另一个是与 SAP 无关的 OpenUI5 编写的应用程序,因此我们部署在 Apache Tomcat。
我们需要集成这两个应用程序,例如在 Fiori 应用程序中单击一个按钮需要打开 OpenUI5 应用程序。
问题是部署在 Tomcat 上的模块(应用程序)无法打开,因为当我们注册模块路径时,domian 没有被 Fiori 使用
jQuery.sap.addUrlWhitelist("http", "tomcat.server.host", "7070", "/tomcatapp/resources/js/ui5widgets");
jQuery.sap.registerModulePath("com.xxx.yyy", "http://tomcat.server.host:7070/tomcatapp/resources/js/ui5widgets");
当我需要时
错误是
core-min-0-dbg.js:17351 Uncaught Error: failed to load 'com/xxx/yyy/aaa/bbb.js' from /sap/bc/ui5_ui5/ui2/ushell/resources/~20151006101200~/com/xxx/yyy/aaa/bbb.js:
0 - AbortError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'http://sap.netweaver.net:2020/sap/bc/ui5_ui5/ui2/ushell/resources/~20151006101200~/com/xxx/yyy/aaa/bbb.js'.(…)
如果我这样做
jQuery.sap.registerModulePath("test.test", "http://www.google.de");
jQuery.sap.require("test.test.MyTest");
文件已正确解析为 http://www.google.de/MyTest.js。
您确定您的包名称没有被其他名称覆盖吗?例如像 'sap.ui.something' 这样的包名显然不是一个好主意。但也有不太明显的例子。可以显示一些 more/real 代码吗?
无论如何你得照顾好CORS
我们有 2 个应用程序,一个是部署在 SAP ABAP 存储库中的 SAP Fiori 应用程序,另一个是与 SAP 无关的 OpenUI5 编写的应用程序,因此我们部署在 Apache Tomcat。
我们需要集成这两个应用程序,例如在 Fiori 应用程序中单击一个按钮需要打开 OpenUI5 应用程序。
问题是部署在 Tomcat 上的模块(应用程序)无法打开,因为当我们注册模块路径时,domian 没有被 Fiori 使用
jQuery.sap.addUrlWhitelist("http", "tomcat.server.host", "7070", "/tomcatapp/resources/js/ui5widgets");
jQuery.sap.registerModulePath("com.xxx.yyy", "http://tomcat.server.host:7070/tomcatapp/resources/js/ui5widgets");
当我需要时
错误是
core-min-0-dbg.js:17351 Uncaught Error: failed to load 'com/xxx/yyy/aaa/bbb.js' from /sap/bc/ui5_ui5/ui2/ushell/resources/~20151006101200~/com/xxx/yyy/aaa/bbb.js:
0 - AbortError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'http://sap.netweaver.net:2020/sap/bc/ui5_ui5/ui2/ushell/resources/~20151006101200~/com/xxx/yyy/aaa/bbb.js'.(…)
如果我这样做
jQuery.sap.registerModulePath("test.test", "http://www.google.de");
jQuery.sap.require("test.test.MyTest");
文件已正确解析为 http://www.google.de/MyTest.js。
您确定您的包名称没有被其他名称覆盖吗?例如像 'sap.ui.something' 这样的包名显然不是一个好主意。但也有不太明显的例子。可以显示一些 more/real 代码吗?
无论如何你得照顾好CORS