Я изо всех сил пытаюсь найти способ просто использовать службу OData v3.0 любым способом из Visual Studio 2017, поэтому я могу использовать клиентскую библиотеку, чтобы помочь разработать мое приложение/службу для использования данных.
Согласно странице Microsoft OData Stack, у них есть все инструменты и поддержка для использования OData v4. .0 обслуживание. Не зная, что на самом деле я имею дело со службой версии 3.0, я следовал этим инструкциям, и, как описано на странице, есть два варианта инструментов для начала работы. Одним из них является генератор клиентского кода, а другим – Подключенная служба OData
После того, как пришлось пройти через некоторые обручи, чтобы даже заставить работать любой из них (см. GitHub Issue за фактически найденную версию генератора клиентского кода, которая действительно работает с VS2017, и попытку обходного пути, чтобы заставить подключенную службу OData работать со службой, требующей аутентификации, я наконец понял, что работаю с OData v3. Ответ 0. Так что эти инструменты не могли помочь.
Теперь это противоречит тому, что на самом деле упоминается на странице торговой площадки OData Connected Service, где говорит «Подключенная служба OData для V1-V4», это не сработало. Если служба OData требует аутентификации, я получаю это диалоговое окно с ошибкой при попытке добавить подключенную службу через расширение:
Итак, затем я прочитал в проблеме GitHub (не могу ее найти), что потенциальным обходным путем является загрузка XML, возвращаемого при попадании в конечную точку метаданных /$, переименование его в whatever.edmx
и попытка использовать это для расширения предоставив file://
URI этому файлу. Это не сработало со следующим диалоговым окном ошибки:
Тогда я отказался от этого подхода и попытался вместо этого использовать Генератор клиентского кода, и предоставление файла edmx для этого в конфигурации TT (для решения проблем с аутентификацией, и это не сработало, потому что это был OData v3.0, а не 4.0.
Итак, похоже, для версии 3.0 подход заключается в использовании Add Service Reference
, но когда я это делаю, я получаю следующую ошибку:
..но этот инструмент не поддерживает v3.0.. так что теперь я понятия не имею, что делать!?
Любая помощь будет принята с благодарностью!