Извлечение метаданных $ для определенной коллекции или сущности с помощью веб-служб Odata в Microsoft Dynamics NAV 2016
В рамках интеграционного проекта мне нужен веб-сайт PHP, чтобы можно было читать и записывать в службы Microsoft Data NAV 2016 Odata.
Microsoft Dynamics NAV 2016 используетстандарт Odata v3.
КонтекстТеперь давайте возьмем мойcustomer
сервис в качестве примера.
Получение обзора моей коллекцииcustomer
лица работают нормально, используя ссылку в следующем формате:
https://<Server>:<WebServicePort>/<ServerInstance>/OData/Company(\'<CompanyName>\')/customer
Извлечение одного объектаПолучение одногоcustomer
сущность на основеid
отлично работает, используя ссылку в следующем формате:
https://<Server>:<WebServicePort>/<ServerInstance>/OData/Company(\'<CompanyName>\')/customer(\'<Id>\')
Извлечение глобальных метаданныхПолучение обзора$metadata
для всех моих служб работает нормально (хотя в нем отсутствует поддержка Json), используя ссылку в следующем формате:
https://<Server>:<WebServicePort>/<ServerInstance>/OData/$metadata
Извлечение метаданных, относящихся к коллекцииТеперь на основе обоихспецификации Odata v3 и значениеodata.metadata
я бы хотел получить обзор$metadata
изcustomer
сущности, используя ссылку в следующем формате:
https://<Server>:<WebServicePort>/<ServerInstance>/OData/$metadata#customer
Это не работает, как ожидалось. Смотрите подразделThe issue
ниже.
Точно так же, основываясь на обоихспецификации Odata v3 и значениеodata.metadata
При поиске одного клиента из моего набора данных я бы хотел получить обзор$metadata
одного поляcustomer
сущности, используя ссылку в следующем формате:
https://<Server>:<WebServicePort>/<ServerInstance>/OData/$metadata#customer/@<FieldName>
Это не работает, как ожидалось. Смотрите подразделThe issue
ниже.
По какой-то причине все следующее$metadata
кажется, игнорируется. Это означает, что последние три URL дают мне точно такой же результат, что я не ожидал.
Fetching collection-specific metadata
а такжеFetching entity-specific metadata
из моегоThe context
раздел выше?Если да, то что я здесь не так делаю? Что мне не хватает?