Как мы можем использовать Odataservice без создания прокси

#web-services #wcf #odata

#веб-сервисы #wcf #odata

Вопрос:

Я планирую OData обслуживать встроенную шину данных entrprise, которая будет использоваться бизнес-сервисом. Тогда бизнес-сервис будет предоставлять услуги различным клиентам, таким как веб-сайт, смартфоны и т. Д

Для начала я хочу использовать службу Odata в бизнес-сервисе без создания прокси (без добавления в качестве ссылки на службу).

Я нашел одну статью, в которой объясняется, как использовать WCF сервис без использования ссылки на сервис здесь. Это отлично смотрится в сценарии, где у нас будет отдельный проект для контракта на обслуживание и контракта на передачу данных. Можем ли мы иметь аналогичное для служб Odata?

Ответ №1:

Возможно, я ошибаюсь, но в отличие от служб WCF Soap, OData не «требует» использования прокси-сервера. Это протокол http, и ответ будет возвращен в виде простого xml или json без инфраструктуры контракта сообщений WCF. Существует формат синдикации Atom Pub, с которым вам придется иметь дело, но .В сети есть библиотеки для этого.

Генерация прокси из ссылки на службу для служб OData, вероятно, является просто удобством для клиентов при работе со строго типизированной моделью, но не обязательным требованием.

Чтобы убедиться в этом, просто нажмите на свой сервис OData простым запросом URL и просмотрите ответ в своем браузере (отключите автоматическое чтение RSS) или в Fiddler. Если ваш бизнес-уровень может десериализовать ответ, вы готовы обходиться без прокси.

Если вы обращаетесь к нему из клиента javascript, существуют некоторые библиотеки js, которые также могут помочь с десериализацией, такие как JayData и datajs

Ответ №2:

  1. odatajs (Olingo Oclient для Javascript): http://olingo.apache.org/doc/javascript/download.html
  2. библиотека odata (.net): http://www.nuget.org/packages/Microsoft .OData.Клиент /
  3. Клиент Olingo OData для Java: http://olingo.apache.org/doc/odata4 /

подробнее @ http://www.odata.org/libraries /