繁体   English   中英

Odata与Olingo或Odata4j

[英]Odata with Olingo or Odata4j

我在我脑海里。

在最广泛的层面上,我试图将Odata接口暴露给由使用Mule编写的服务公开的现有数据池。 当我调用我的Mule服务时,如果我检测到该URL是Odata格式,我想将处理委托给用Java编写的东西,然后将该组件的响应反馈给我的调用者。

我找到了Olingo和OData4j库。 我的问题是,这些从构建Web服务开始。 但这对我来说太过分了。 我有一个Web服务。 我需要了解的是我需要实现哪些组件才能将URL(我手头上的)传递给Odata解析器,而Odata解析器将调用数据提供程序。

我对这项技术感到有些失落。 有人能指出我一个非常基本的教程,清楚地描述了这一点。 或者,他们可以给我一些步骤:“你必须实现A,B和C,然后将你的URL传递给C.foo()”?

我已经尝试了两个库的入门文档,但它们都以“首先我们将实现一个Web服务”开头,并且没有清楚地描述(至少对我来说)离开的地方和纯粹的Odata设置。

谢谢。

以下是帮助您开始使用来自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());
    }

这听起来很像我们读取rss或其他数据源的方式

由于你有一个url,这可以通过Http Connector甚至是一个轮询http连接器来读取。 可以使用Java输入流将数据流式传输为默认行为,也可以将其转换为字符串(对象为字符串)。

一个简单的java组件使用(OData4j)可以处理你的内容..它听起来像一个骡子流上的2个简单组件。

[R

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM