簡體   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