【问题标题】:SAP Fiori Client Proxy Error / caused by SOP? [closed]SAP Fiori 客户端代理错误/由 SOP 引起? [关闭]
【发布时间】:2018-06-06 21:12:43
【问题描述】:

我在 SCP Web IDE 上开发了一个应用程序,该应用程序已发布到 测试启动板。它使用 OData 服务 CUAN_IMPORT_SRV。当我在桌面上运行应用程序时,一切都很好。我可以在 yMarketing 中创建交互。

由于我的应用程序使用条形码功能,我需要在移动设备上使用此应用程序。因此,我将应用程序添加到测试 Fiori 启动板并尝试通过 SAP Fiori 客户端访问启动板。为 OData 模型定义的 URL 的主机名不公开。

我在这里定义 OData 模型:

var uname = "myuser";
var pw = "mypassword";

var oModel = new sap.ui.model.odata.v2.ODataModel("https://hostname:port/sap/opu/odata/sap/CUAN_IMPORT_SRV/", true, uname, pw)

访问服务器需要代理+VPN。


1) 起初,我尝试在 Fiori Client 应用中打开启动板,已配置代理和正在运行的 VPN 连接。这样,我无法访问测试启动板。这是我的错误日志(每一步后我都会清除日志):

找不到页面。


2) 我尝试的下一件事是关闭代理。我登录到我的 SCP 帐户。我现在可以看到启动板,但我的应用程序不可见。这是新的日志:


3) 我删除设置,再次输入启动板 URL,输入我的 SCP 用户名和密码。该应用程序现在可见。这一步的日志:


4) 启动应用(代理仍然关闭)

找不到具有此主机名的服务器


5) 开启代理,运行应用程序,我需要使用我的服务器登录进行身份验证:


6) 当 CRUD-Operation 到服务器完成后,日志显示如下:


这可能是跨域问题吗?在 flpportal 上运行的应用程序...(测试启动板)和我尝试访问的数据在其他主机上。当我在浏览器(HAT、Cordova Facade)中尝试它时,我只是通过使用--disable-web-security --user-data-dir 启动浏览器来忽略 SOP(这适用于测试场景)。但是我猜 ProxyServlet 或 Reverse Proxy 不会让它变得更好,因为它们也只是用于测试目的。这意味着将应用程序与 SAP Fiori Client 一起使用的唯一方法是将其部署到 ABAP 存储库并从与请求的数据相同的来源运行它?

我真的希望有人可以帮助我解决我的问题。 非常感谢!

【问题讨论】:

  • 澄清一下:缩写“SOP”是什么意思?我不确定,但这可能是“跨源”问题吗?
  • SOP = 同源策略。所以是的,也许是跨域问题? /iwfnd/error_log 中的消息显示HTTP method is not allowed for the resource identified by the Data Service Request URI。我认为这不是真正的问题(因为我可以在忽略跨域时访问)。我认为这更多地证明了通常无法检索资源(由于资源位于另一台服务器上,因此所有 HTTP 方法都不起作用)。你怎么看?

标签: proxy sapui5 same-origin-policy


【解决方案1】:

我可以确定问题所在。正如已经预料的那样,这是一个跨域问题。由于应用程序已部署到服务器并添加到启动板,因此一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多