我正在尝试构建一个将用于不同主机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?
感谢。
答案 0 :(得分:0)
根据API docs,您可以使用ODataModel
和serviceUrl
地图来实例化mParameters
。
因此,在您的用例中,如果应用程序能够在不加载默认模型的情况下启动(在manifest.json
中声明),您可以在控制器内部加载OData模型并操纵serviceUrl
你之前的用户输入。