SAPUI5 - 动态主机URL数据源

时间:2018-02-11 15:19:28

标签: cordova sapui5 datasource manifest.json

我正在尝试构建一个将用于不同主机URL(或SAP服务器)的cordova移动应用程序。

我正在使用OData服务,并且能够访问使用SAP Netweaver Gateway Service Builder创建的OData。我想根据用户输入更改主机URL。

这是我的manifest.json上的部分,我声明了数据源:

"dataSources": {
  "Main": {
    "uri": "http://myhosturl/sap/opu/odata/sap/mymainservice/",
    "type": "OData",
    "settings":{
        "odataVersion": "2.0",
        "useBatch" : true
    }
  }
}

和我的模型声明:

"MainService": {
    "dataSource": "Main",
    "settings": {
      "synchronizationMode" : "None",
      "defaultBindingMode": "TwoWay",
      "serviceUrlParams": {
        "sap-client": ""
      },
      "metadataUrlParams": {
        "sap-client": ""
      }
    }
  }

我使用方法getManifestEntry()成功地使sap客户端变得动态。有没有办法在运行时更改主机URL?

感谢。

1 个答案:

答案 0 :(得分:0)

根据API docs,您可以使用ODataModelserviceUrl地图来实例化mParameters

因此,在您的用例中,如果应用程序能够在不加载默认模型的情况下启动(在manifest.json中声明),您可以在控制器内部加载OData模型并操纵serviceUrl你之前的用户输入。