需要从 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