首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Olingo或Odata4j的Odata

使用Olingo或Odata4j的Odata
EN

Stack Overflow用户
提问于 2013-11-13 02:34:17
回答 2查看 4.3K关注 0票数 5

我太头疼了。

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

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

我对这项技术有点迷惑。谁能给我一个非常基本的教程,清楚地描述这一点。或者,他们可以给我几个步骤,比如:“你必须实现A,B&C,然后把你的网址传递给C.foo()"?

我已经尝试过这两个库的入门文档,但它们都以“首先我们将实现一个Web服务”开头,并且没有(至少在我看来)清楚地描述了这将在何处留下纯Odata集。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-05-08 18:56:39

以下代码将帮助您开始使用通过OData公开的服务中的数据(使用Apache Olingo)。

代码语言:javascript
复制
 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 go,请使用以下代码

代码语言:javascript
复制
   ODataConsumer demo_consumer= ODataConsumers.create(/*your URL*/);
   Enumerable<EntitySetInfo> demo_entitySetList = demo_consumer.getEntitySets();


    for (EntitySetInfo entitySet : entitySetList) {
      System.out.println(entitySet.getHref());
    }
票数 4
EN

Stack Overflow用户

发布于 2013-11-22 17:28:02

这听起来非常像我们阅读rss或其他数据馈送的方式

因为你有一个url,所以它可以被Http连接器甚至轮询http连接器读取。可以使用Java输入流(默认行为)流式传输数据,也可以将其转换为字符串(对象到字符串)。

一个使用(OData4j)的简单java组件就可以处理您的内容。这听起来像是一个流上的两个简单的组件。

R

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19937198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档