问题标签 [olingo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
271 浏览

java - Olingo V2.0.4 检索 javax.servlet.http.HttpServletResponse

想问一下有没有办法在olingo-ODataServiceFactory中检索HttpServletResponse?此要求需要使用 UMFactory 从 SAP Portal 对用户进行身份验证。

目前,我设法使用以下代码检索 HttpServletRequest:

0 投票
0 回答
434 浏览

java - 使用 Olingo、JPA 和 EclipseLink 或 Hibernate 处理查询时出错

我正在做一个概念验证,以创建一个服务来访问具有 OData 服务的现有 Oracle 数据库。这个想法是使用 Olingo 和 JPA,在模型中显式地使用 JPA 注释。我们目前不知道使用哪个提供商。到目前为止,我们已经对 EclipseLink 和 Hibernate 进行了试验,并且遇到了类似的问题。

数据库模式使用 NUMBER(28,0) 作为所有表的键。据我了解,模型中相应的 JPA 声明是:

对此的 OData 查询如下所示:

请注意,我们实际上有具有此范围内键的数据。对于键是较小数字的表,我们一切正常。

我已经调试了这个处理,发现 Olingo 产生了一个 JPQL 表示,从我对规范的阅读来看是正确的。

此时,它会进入提供程序特定的代码,以尝试将其转换为适当的 SQL 查询。Hibernate 和 EclipseLink 都无法识别该文字。似乎在转换期间转换成它们的内部格式应该导致该数字具有限定符以指示它是一个大整数。

两个系统的故障实际上是​​不同的。EclipseLink 创建一个具有“其中 id 为空”的选择。Hibernate 抛出异常。

我的问题是:

  1. 是否有其他方法可以让我定义我的模型,以便它进入正确的处理并成功?
  2. 我应该向各自的提供商报告这些错误吗?
  3. 如果这些是错误,任何人都可以推荐一个不会失败的替代提供商吗?

谢谢!

0 投票
1 回答
734 浏览

android - 适用于 Android 的 Olingo OData 2.0 - 对 javax.xml.stream.XMLInputFactory 的依赖

我尝试在 Android 中使用 Apache Olingo OData 2.0 实现 OData V2 客户端

将客户端类作为 java 类执行工作正常,但我无法在 AsyncTask 中使用相同的代码运行 Android 应用程序:

我的问题是:(
如何)我可以解决这个问题吗?
(我在某处读到,Android 可能不支持缺少的类?)
切换到 Apache Olingo OData 4.0 会有所帮助吗?
(我需要使用 OData V2 服务,如果 Olingo V4 在 Android 上支持这个,我可能会尝试迁移我的客户端......)

提前致谢!

0 投票
0 回答
176 浏览

jpa - Olingo JPA 缺少 $batch 实现

伙计们:

我已按照教程实施“创建将 JPA 模型转换为 OData 服务的 Web 应用程序项目”。但是客户端抱怨缺少 $batch 实现。任何人都可以提供线索如何将 $batch 实现添加到 JPA - OData 服务?

谢谢。杰克

0 投票
0 回答
689 浏览

swagger - Apache Olingo(Java OData) Swagger API 框架集成

我在 Tomcat 中有一个 webapp,它通过 Apache Olingo 公开 OData 端点。我用 swagger、olingo、integration 等关键词在网上搜索过,但没有找到任何答案。

有一些关于 .NET OData Swagger 集成的信息,但我对此并不感兴趣。

请注意,我对 Olingo 和 Swagger 集成感兴趣,而不是 Swaggersocket 集成。

有谁知道 Swagger 是否支持 Olingo 集成?

编辑:Swagger UI 是否与 Olingo 集成无缝协作?

0 投票
1 回答
738 浏览

java - Apache Olingo java 库是否支持 OData V3?

我需要使用 Java 中的 OData V3 服务。

Apache Olingo 是 OData 唯一活跃的开源项目。但它似乎不支持 OData V3。我用谷歌搜索,发现一些关于 Olingo V4 的讨论实际上通过诸如以下方法支持 OData V3

但是我在当前的 Olingo Java 库中找不到这样的方法。

OData V3 的另外两个 Java 库似乎处于休眠状态:

  • ODataJClient,其 github 页面显示它现在是 Olingo 项目的一部分。
  • odata4j

Apache Olingo 是否支持 OData V3?

0 投票
1 回答
160 浏览

multithreading - Olingo JMS 集成 同步/异步

我正在寻找一种将Apache OilngoJMS集成的解决方案。要求是让客户端构造 HTTP 结构并通过套接字连接发送(同步)-如果 HTTP 响应花费的时间超过指定的时间段(例如 15 分钟),则请求被转发到异步行为,线程将在用于响应的套接字。一旦响应到达,原始发件人就会收到通知(类似于结构的回调)TIA。

0 投票
2 回答
902 浏览

java - 使用 Olingo v2 Java 作为 PATCH 到 OData v2 服务的客户端

我正在尝试使用 Olingo 提供与 OData 服务交互的客户端(也是用 Olingo 编写的)。我正在尝试发送 PATCH。但是,标准验证例程正在启动,如果我不包含使用标准 Olingo 工具标记为不可为空的实体元素,我会收到错误消息。

https://olingo.apache.org/doc/odata2/tutorials/OlingoV2BasicClientSample.html它说:

使用 HTTP MERGE/PATCH 也可以只发送要更新的数据作为 POST 正文并忽略未更改的数据。但这(当前)未在此示例中显示。

不幸的是,我不确定如何执行此操作,似乎没有任何地方可以向 EntityProvider.writeEntry 方法标记它是 PATCH 而不是 POST/PUT

此时在我的代码中,如果“数据”不包含我的不可为空字段的条目,我会收到错误消息。该响应还为不在我的“数据”中的实体的所有属性返回空值。

我通过操纵响应以在“标准”生成之后删除不在我的“数据”中的所有条目来处理这个问题,但想象必须有更好的方法,即使我看不到它。关于如何处理这个问题的任何建议?

0 投票
1 回答
575 浏览

java - 如何在 OData 响应 Olingo 中设置 cookie?

我正在使用以下代码来返回响应。我不知道我在哪里遗漏了一些东西,但是没有任何与在 OData 库中设置 cookie 有关的讨论。

返回的响应没有任何设置器来设置 cookie/headers 大概是由于构建器模式。

在 ODataResponseBuilder 中,有一种设置标头的方法

ODataResponse resp = resp.header("Set-Cookie", "sampleCookie="+cookieValue).build()

但在这种情况下,我不确定如何将 entitySet 设置为构建器,就像 writeFeed 的情况一样。

当谈到 HttpServletRequest 时,我能够通过 获取它ODataContext#getParameter(ODataContext.HTTP_SERVLET_REQUEST_OBJECT),但似乎没有等效的方法来获取响应对象。

任何帮助将不胜感激。

0 投票
1 回答
210 浏览

java - 请求中的西里尔文

当我调用请求时:

<serverUrl>/objects.svc/objects(<some-cyrillic-str>)

我有类似的错误:“URI 格式错误”。

当我添加单引号时,它变成了:

<serverUrl>/objects.svc/objects('<some-cyrillic-str>')

我有错误,例如:“关键属性 'Id' 无效”。

我认为这个问题是:URL 编码。在请求 URL 的 servlet 西里尔字母部分变为:%D7%....等)并且 Olingo 不能使用它。

问:在这种情况下使用西里尔字母的正确方法是什么?

UPD:赛尔。由 js (encodeURLComponent()) 工作并发送的 URL 的一部分。Servlet(然后是 Olingo)像 %D7% 一样得到这部分...当我尝试在过滤器中解码 url(在 servlet 之前)时,我有适当的 cyr。过滤器的一部分,但不能再通过这样的 url 调用 servlet。