从Eclipse中消耗OData

时间:2018-02-22 18:11:20

标签: sapui5 sap-web-ide

我一直在使用文档练习SAPUI5,但他们使用SAP Web IDE来使用OData服务。但是,因为我的公司不会将他们的服务器暴露给云,所以我不能使用SAP Web IDE,所以我需要使用eclipse。我需要一步一步的教程(对于假人来说)使用来自eclipse的SAPUI5来消费OData。我已经知道如何创建它们但不知道如何在eclipse中使用它们。

我使用Northwind的OData服务,但是使用SAP,我需要凭据和其他东西。

"dataSources": {
  "invoiceRemote": {
    "uri": "https://services.odata.org/V2/Northwind/Northwind.svc/",
    "type": "OData",
    "settings": {
      "odataVersion": "2.0"
    }
  }
}

3 个答案:

答案 0 :(得分:0)

  

[...]因为他们不会将他们的服务器暴露在云中,所以我无法使用SAP Web IDE

基于clould的Web IDE的替代方法是Web IDE Personal Edition,您可以在本地计算机上部署它,但仍然可以在浏览器中运行(localhost)。创建相应的destination file以连接到远程系统,其余部分与云上基于Orion的旧Web IDE基本相同。

以下是来自odata.org(例如Northwind)

的服务的目标文件
Description=OData service from odata.org for testing, tutorials, demos, etc.
Type=HTTP
Authentication=NoAuthentication
WebIDEUsage=odata_gen
Name=odata_org
WebIDEEnabled=true
URL=http\://services.odata.org/
ProxyType=Internet
WebIDESystem=odata_org

否则,如果您想坚持使用eclipse,请查看文档主题

答案 1 :(得分:0)

使用northwind的OData的例子:(这是我在eclipse中创建的但是与sap web ide个人版本的唯一不同(我还没有尝试过但它应该可以工作)你必须为服务配置目标文件)

的manifest.json

 //between sap.app key you put this:
            "dataSources": {
            "mainService": {
                "uri": "/northwind/V2/OData/OData.svc/",
                "type": "OData",
                "settings": {
                    "odataVersion": "2.0",
                    "localUri": "localService/metadata.xml"
                }
            }
        }

...
// this can be empty the if your using more than two just one can be empty
"": {
            "dataSource": "mainService",
            "preload": true
        }

在我看来,我将使用数据:

<List
                id="list"
                items="{
                    path: '/Categories',
                    sorter: {
                        path: 'Name',
                        descending: false
                        },
                    groupHeaderFactory: '.createGroupHeader'
                }"
                busyIndicatorDelay="{masterView>/delay}"
                noDataText="{masterView>/noDataText}"
                mode="{= ${device>/system/phone} ? 'None' : 'SingleSelectMaster'}"
                growing="true"
                growingScrollToLoad="true"
                updateFinished="onUpdateFinished"
                selectionChange="onSelectionChange">
                <infoToolbar>
                    <Toolbar
                        active="true"
                        id="filterBar"
                        visible="{masterView>/isFilterBarVisible}"
                        press="onOpenViewSettings">
                        <Title
                            id="filterBarLabel"
                            text="{masterView>/filterBarLabel}" />
                    </Toolbar>
                </infoToolbar>
                <items>
                    <ObjectListItem
                        type="Active"
                        press="onSelectionChange"
                        title="{Name}">
                    </ObjectListItem>
                </items>
            </List>

如果你要使用odata为你制作或者只是将你的网址粘贴到关键数据源的属性“uri”中(如下所示:“https://proxy/name:port/sap/opu/odata/SAP/ZNAME_OF_YOUR_CREATED_ODATA_SRV”不要担心这个网址是你可以在yo / IWFND / MAINT_SERVICE时看到它,什么时候已经部署它就像这样留下uri / sap / opu / odata / SAP / ZNAME_OF_YOUR_CREATED_ODATA_SRV

答案 2 :(得分:-3)

我会给你一些灯光,但不是一个完整的教程。

在eclipse中工作与使用WEB IDE没有什么不同。 首先,您需要使用JSONModel()。您可以找到参考here

创建一个JSONModel对象,然后使用方法loadData。 对于sURL使用(在您的示例中): “https://services.odata.org/V2/Northwind/Northwind.svc/?$格式= JSON”

然后,您将在前端拥有oData。现在您只需要学习如何在视图元素中使用它。你可以学习它here

如果您想进一步解释,请提出小问题,以便根据您的需求更轻松地回答。