2013-11-12 2 views
4

Я нахожусь над моей головой.Odata with Olingo or Odata4j

На самом широком уровне я пытаюсь разоблачить интерфейс Odata для существующего пула данных, открытых службой, написанной с использованием Mule. Когда моя служба Mule вызывается, если я обнаруживаю, что URL-адрес является форматом Odata, я хочу делегировать обработку на что-то, написанное на Java, а затем передать ответ от этого компонента обратно моему вызывающему.

Я нашел библиотеки Olingo и OData4j. Моя проблема в том, что они начинаются с создания веб-службы. Но это слишком далеко вверх по течению для меня. У меня есть веб-сервис. Мне нужно понять, какие компоненты мне нужно реализовать, чтобы передать URL-адрес (который у меня есть) вперед в парсер Odata, который, в свою очередь, вызовет поставщика данных.

Я немного потерял эту технологию. Может кто-то указать мне на очень простой учебник, который четко определяет это. Или они могут дать мне пару шагов вроде: «Вы должны реализовать A, B & C, а затем передать свой URL в C.foo()??

Я пробовал документ «Начало работы» для обеих библиотек, но оба они начинаются с «сначала мы будем внедрять веб-сервис» и не будем четко очерчивать (по крайней мере, мне), где это происходит, и чистый Odata

Спасибо.

+0

для будущего Посетители, вы можете проверить пример Northwind на странице http://services.odata.org/V4/Northwind/Northwind.svc/ –

ответ

-2

это звучит очень нравится, как мы читаем RSS или другие каналы данных

Поскольку у вас есть URL, это может быть считан с помощью соединителя Http или даже разъем опроса HTTP. Данные могут передаваться по потоку ввода Java по умолчанию или преобразовываться в строку (объект в строку).

Простой компонент java, использующий (OData4j), может обрабатывать ваш контент .. он звучит как 2 простых компонента в потоке мула.

R

4

Ниже приведен код, который поможет вам начать работу по использованию данных из службы обнажая через OData. (С помощью Apache Olingo).

URL url=new URL(/*your url*/); 
HttpURLConnection conn=(HttpURLConnection) url.openConnection(); 
conn.setRequestMethod("GET"); 
conn.setRequestProperty(HttpHeaders.ACCEPT,HttpContentType.APPLICATION_XML); 
conn.connect(); 
InputStream content=conn.getInputStream(); 
Edm edm = EntityProvider.readMetadata(content, false); 

После этого вы можете использовать статические методы класса EntityProvider для проведения различных операций, таких как чтение, обновление, написать

Если вы используете odata4j идут со следующим кодом

ODataConsumer demo_consumer= ODataConsumers.create(/*your URL*/); 
    Enumerable<EntitySetInfo> demo_entitySetList = demo_consumer.getEntitySets(); 


    for (EntitySetInfo entitySet : entitySetList) { 
     System.out.println(entitySet.getHref()); 
    } 
Смежные вопросы