Невозможно использовать службу ODATA Northwind в WEBIDE

Я новичок в WEBIDE, я пытаюсь использовать службы odata Northwind, но пока безуспешно. Пожалуйста, посмотрите мой код и помогите.

проверка соединения по месту назначения также прошла успешно. но все равно получаю ошибку:

/V3/Northwind/Northwind.svc/$metadata", statusCode: 404, statusText: "Not Found", заголовки: Array(0), body: "Искомый ресурс удален,... его имя изменено или временно недоступен."} responseText:"Ресурс, который вы ищете, был удален, его имя было изменено или временно недоступен."

statusCode:404 statusText:"Not Found" proto:Object

введите здесь описание изображения

любые предложения, что я могу делать неправильно?

нео-app.json:

{
  "path": "/destinations/northwind",
  "target": {
    "type": "destination",
    "name": "northwind"
  },
  "description": "Northwind OData Service"
}

манифест.json:

"sap.app": {
    "id": "Mod3Act3",
    "type": "application",
    "i18n": "i18n/i18n.properties",
    "title": "{{appTitle}}",
    "description": "{{appDescription}}",
    "applicationVersion": {
        "version": "1.0.0"
    },
    "dataSources": {
        "northwind": {
            "uri": "/V3/Northwind/Northwind.svc/",
            "type": "OData",
            "settings": {
                "odataVersion": "2.0"
            }
        }
    }
},

"sap.ui5": {
    "rootView": {
        "viewName": "Mod3Act3.view.Main",
        "type": "XML"
    },
    "dependencies": {
        "minUI5Version": "1.30.0",
        "libs": {
            "sap.ui.core": {},
            "sap.m": {},
            "sap.ui.layout": {},
            "sap.ushell": {},
            "sap.collaboration": {},
            "sap.ui.comp": {},
            "sap.uxap": {}
        }
    },
    "contentDensities": {
        "compact": true,
        "cozy": true
    },
    "models": {
        "": {
            "dataSource": "northwind"
        }
    },
    "resources": {
        "css": [{
            "uri": "css/style.css"
        }]
    }
}

контроллер

var url = "/V3/Northwind/Northwind.svc";
var oModel1 = new sap.ui.model.odata.ODataModel(url, true);
sap.ui.getCore().setModel(oModel1, "categoryList");

person Armghn    schedule 09.01.2018    source источник
comment
Пожалуйста, избегайте использования sap.ui.model.odata.ODataModel. Устарел в течение длительного времени (по крайней мере, с версии 1.30). Ознакомьтесь с справочником по API.   -  person Boghyon Hoffmann    schedule 11.04.2018
comment
Также нет необходимости создавать дополнительную ODataModel в контроллере. Вы уже создали и декларативно установили его в дескрипторе приложения (manifest.json). Если вы вызовете this.getOwnerComponent().getModel() из своего контроллера, вы получите экземпляр v2.ODataModel. Взгляните на stackoverflow.com/a/42251431, чтобы узнать больше о распространении модели.   -  person Boghyon Hoffmann    schedule 11.04.2018


Ответы (2)


проблема была с manifest.json.

"dataSources": { 
"northwind": {     
 "uri": "/destinations/northwind/V3/Northwind/Northwind.svc/",      
 "type": "OData",      
 "settings": {"odataVersion": "2.0" }
}
}

это сработало

person Armghn    schedule 09.01.2018

попробуйте пример из руководства sapui5:

manifest.json

{
  "_version": "1.8.0",
  "sap.app": {
    ...
    "ach": "CA-UI5-DOC",
    "dataSources": {
      "invoiceRemote": {
        "uri": "https://services.odata.org/V2/Northwind/Northwind.svc/",
        "type": "OData",
        "settings": {
          "odataVersion": "2.0"
        }
      }
    }
  },
  "sap.ui": {
    ...
  },
  "sap.ui5": {
    ...
    "models": {
      "i18n": {
        "type": "sap.ui.model.resource.ResourceModel",
        "settings": {
          "bundleName": "sap.ui.demo.walkthrough.i18n.i18n"
        }
      },
      "invoice": {
        "dataSource": "invoiceRemote"
      }
    }
  }
}

контроллер

...
var oModel = this.getView().getModel("invoice");
...

имейте в виду, что сертификат принимается из-за https-соединения и той же политики происхождения, которые упоминаются в связанном пошаговом примере.

person n01dea    schedule 09.01.2018