使用SAPUI5的Eclipse开发工具,可以在WebApp预览模式下运行SAPUI5应用程序。它的工作正常,期待一点。
OData服务中使用的客户端数据总是" 100"默认情况下。 我假设使用的客户端是用于存储库设置的客户端。
但是为了测试,我必须使用不同的客户端(200),因为维护了测试数据。
由于SAPUI5 1.26.9及其相应的开发工具似乎可行,因此在SAP NetWeaver Gateway上定义默认客户端,但在升级到1.28.x之后,大部分时间都使用客户端100。
现在我正在搜索该问题的文档,但无法找到任何内容。当然,一个问题是搜索术语"客户端"根本不会帮助。
我还会在某处硬编码任何客户端编号,因为在真实系统中,登录的客户端将自动使用。
但是在WebApp预览中,我不会被要求提供客户端。
也许这是提出这个问题的错误地方?在那种情况下,我将删除它。
答案 0 :(得分:2)
你能在URL中找到一个参数并链接到检索serviceUrl吗?
也许你可以拥有一个URL参数,并且基于这个参数,你可以使用客户端200的硬编码值和其他没有任何东西的服务URL。
您可以检索参数:
$product->prices()->latest()->amount
在OData服务定义中对客户端进行硬编码:
jQuery.sap.getUriParameters().get("test-mode") === "true";
答案 1 :(得分:2)
您可以使用renamedpages_controller.rb
sap-client
- 参数。当您使用SAP Portal或SAPGUI时,这个将自动传递给您的应用程序。
GET
将其传递给自己的数据服务。
答案 2 :(得分:0)
当您调用模型对象时,可以将一些标题变量传递给'指向'到了正确的sap客户端。
// Set the client header variable
var oHeaders = {'sap-client': '120'};
var bCSRF = "true";
var oModel = sap.ui.model.odata.ODataModel(serviceURL, true, "user", "pass", oHeaders, bCSRF, false, false, "", false);
sap.ui.getCore().getModel(oModel, 'gAppModel')
您可以使用像Postman这样的REST客户端测试所需的标头变量。
可以在API中找到OData构造函数的详细信息 - UI5 OData Model