繁体   English   中英

UI5-应用程序:对函数导入的调用仅在 WebIDE 中有效,但在其他任何地方都失败

[英]UI5-Application: Call to functionimport works ONLY in WebIDE but fails everywhere else

我们正在开发一个自定义 UI5 应用程序。 它是在 WebIDE 中开发的,因此被部署为 BSP。 当我们使用底层 model 进行调用时(目前为 3,无 CRUD),我们选择了仅使用函数导入与后端通信的路径。 它们都使用 POST 方法。 所有这些都只能在 WebIDE 内工作。

有一次,我访问 BSP URL 否则,我们会收到 HTTP 500 错误,并显示“请求资源时出错。

我们已经创建了链接,以启用特殊的转发,没有结果。 让我们先从 BSP 坚持我的 URL。

我将它粘贴到我的 3 个浏览器中:500。我们还创建了一个具有适当角色和权限的特殊非对话用户,并在 SICF 树中分配了它。 同样,当从 WebIDE 内部调用时,函数import-calls 起作用,否则不起作用。 错误日志为空。 不会发生转储。 ST05 跟踪显示通过了 500 的位置,深入 HTTP 框架,但没有机会发现代码位置,也没有断点。 在 SICF 登录设置中,我们有:

  • 类型 all,也标记为“all”,SAML:从父节点继承,sec-sessions 不受限制,修复用户和密码,sec:标准,auth:标准 Sap 用户。
    gui 选项只包含一个标志:~CHECK_CSRF_TOKEN 0。

在我的客户中,我使用:

在此处输入图像描述

其中 model 初始化为:

function initModelV2()  {

var sUrl = "/sap/opu/odata/sap/Z_this_is_a_company_secret_service/";
var oModel = new sap.ui.model.odata.v2.ODataModel(sUrl);
sap.ui.getCore().setModel(oModel);

}

我还能做些什么来“至少更接近”原因,为什么?

我可以解决它,信不信由你,有时简单的逻辑会有所帮助。 我调试了 CL_HTTP_RESPONSE 的后端,一看到 GET_STATUS,就想去找 SET_STATUS。 那里是:

this.rModel.setHeaders( {"X-Requested-With" : "X" } );

失踪。

虽然我在我的 model 的清单中设置了它,但它没有通过。 一旦在代码中设置,它就起作用了。

我想知道,为什么它在清单中不被接受。

我有一个假设。

第一:我的清单中有这个(黄色箭头显示,我之前设置的地方):

在此处输入图像描述

但我的代码中也有一个实例化,在 servicebindings.js 中使用此代码

在此处输入图像描述

会不会,最后,我不小心创建了 2 个模型?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM