问题标签 [odata4j]
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.
java - 如何在 odata4j 中处理来自 QueryInfo 的“过滤器”
我的 RESTful Web 服务在他们的请求中向我的 Producer 传递了一些过滤器信息。例如,他们的 URL 包括:- /ACCOUNT-LIST?$filter=Id eq '45012'
如何在 odata4j 中处理这个?
从 odata4j JavaDoc 我可以看到过滤器的类型是 BoolCommonExpression,但看不到任何关于我如何处理它的文档或示例。
另外,我如何处理超过 1 个通过的过滤器选项?
谢谢
android - odata4j 消费者函数调用
我在 android 客户端消费者中调用 odata4j 中的 ext 函数时遇到问题。例如 Netflix 公共服务的“电影”功能。
功能元数据:
和我的代码:
使用此 callFunction 方法以以下错误结束。
有趣的是,当我使用 c.dump.all(true) 删除行时, callFunction 没有错误但无法访问数据。
我不确定我是否正确理解了 callFunction 方法。该函数的元数据条目中有 EntitySet 和 ReturnType 属性,但我想我可以将结果作为 OObject(s) 访问。还是我错了?是否有任何示例如何获取函数响应并访问其数据。任何人都可以帮我解决这个问题。非常感谢你。
吉里
json - Does OData4j request a response in JSON format or convert the response to JSON format? (Android)
I've been using the following code to create my android OData service consumer.
What I want to know is when the client makes a request through the Services
consumer will the request make the server create a JSON formatted response or will the OData4j/consumer convert the response to JSON format.
Thanks in advance for the help. :)
wcf - OData4j 异常 - “奇数个字符”和“keyString 的错误 valueString 部分”
编辑:
解决方案是创建一个镜像相关表的视图,并将日期转换为 varchar,然后使用匹配的排序规则将其转换回日期
编辑结束
谁能告诉我为什么 OData4j 从我的一个 WCF 数据服务服务器读取日期时间值但在从另一个 WCF 数据服务读取具有相同格式的完全相同的日期时间类型时遇到非法参数异常(错误的 valueString 作为 keyString 的一部分)?
java.lang.IllegalArgumentException: bad valueString [datetime'2012-01-24T14%3A57%3A22.243'] 作为 keyString 的一部分
另一个问题是,当我从 OData4j 读取日期时间类型没有问题的服务请求 JSON 响应时,我得到另一个非法参数异常,错误消息是 - 奇数个字符。
java.lang.IllegalArgumentException:org.odata4j.repack.org.apache.commons.codec.DecoderException:奇数个字符。
因为 WCF 数据服务不能有多个源,所以我制作了 2 个项目,每个项目都有自己的实体数据模型源(来自现有数据库)。就像我上面提到的,我遇到了这些烦人的错误。
总结...
示例 1:作为 keyString 一部分的错误 valueString - 读取日期时间时。也发生在FormatType.JSON
.
示例 2:奇数个字符。只有在FormatType.JSON
读取日期时间时才发生并且没有问题。
我想要的是接收 JSON 响应(对于 android,ATOM 仍然过于繁琐)并且读取日期时间属性没有问题。
没有人能帮助我吗?
我一直在努力在谷歌上找到解决方案,但没有任何运气。
没有日期时间问题的数据库的排序规则是“Danish_Norwegian_CI_AS”,而有读取错误的数据库的排序规则是“SQL_Danish_Pref_CP1_CI_AS”。我不知道这是否有任何意义,但我怀疑它与它有关。
jquery - 带有 WCF 数据服务 (OData) 的 JQGrid;在编辑模式下未调用 loadBeforeSend;不能做 setRequestHeader
我对这个出色的 jqgrid 插件以及我尝试将它与 WCF 数据服务(不是真的,但非常相似的 odata4j 服务)一起使用时遇到了一点问题。顺便说一句,如果有人正在考虑将 jqgrid 与 odata 服务一起使用,请给我发邮件,我找到了难题的答案,例如,如何配置网格 xmlreader 以读取 odata xml 结构,从而击败 jquery 命名空间搜索问题(提示:
包括jquery.xmlns.js
无论如何,问题在于 odata 服务需要处理编辑操作(DELETE、PUT、MERGE)的方法作为普通 POST 上的自定义请求标头发送,而不是作为 http 方法。原因似乎是大多数防火墙不允许 PUT 和 DELETE http 方法通过,因为这就是您可以例如在服务器上放置新文件以及删除文件的方式,以防您猜到有效路径。长话短说……内联或表单编辑不会触发 loadBeforeSend 事件……我可以看到它是在网格的完整数据请求上触发的,但我只有在serializeEditData
从编辑表单提交时才会触发该事件。我很担心,因为我进入了 jqgrid 源文件 ( grid.formedit.js
,grid.inlineedit.js
)并且我无法使用 beforesend 关键字获得任何点击,只有 serializeeditdata 显示在那里。我错过了什么吗?xhr
还有另一种方法可以在网格使用的 ajax 对象上设置我需要的标题吗?该xhr
对象是否被网格暴露?
下面你有我必须处理编辑事件的代码......再次, loadBeforeSend 没有被触发......
提前谢谢你,塞尔班
odata4j - 如何将 OData4J 与未知数量的子对象一起使用?
我正在尝试为createEntity
其中包含多个子集合的对象构建 OEntity。
我查看了许多示例项目,但它们似乎都假设您在集合中有已知数量的子对象,以便您可以使用 .inLine(“ObjectName”, ObjectOEntity1, ObjecteOEntity2…)
我已经尝试查看文档,但没有发现任何让我认为我可以创建 OEntity 对象集合的内容,然后可以使用内联将这些对象添加到我的父对象中。
我找到的最接近的是下面列出的示例:
有没有其他人遇到过这个问题?
如果是这样,您是如何解决的?
android - 如何减少 odata4j 发送的 HTTP 请求的超时
我正在尝试在移动 Android 应用程序中使用 odata4j 库。有时 HTTP 请求没有得到响应,因为设备在发送请求后就失去了移动连接。在几次尝试重现它并对其计时后,我注意到库大约需要 27 分钟才能抛出“java.net.SocketException: Connection timed out”。有什么办法可以减少这个超时,让我可以更快地处理故障?谢谢。
spring - OData4j 和 CXF 与 Spring
我正在尝试将 odata4j 集成到现有的 CXF 服务应用程序中。servlet 已经托管了一个现有的soap and rest 服务。我的应用服务器是tomcat。
我的 web.xml:
现有的soap 和rest 服务是通过jaxrs 和jaxws 配置文件配置的。
我创建了我的 JPA OData Producer Factory:
包含此 odata 服务的最简洁方法是什么?
谢谢你的帮助!
android - odata,Noclassdeffounderror
下面是android尝试使用odata检索数据的代码。OdataWebNorthwindModelService 是代理类的名称(自动生成)...我按照http://weblogs.asp.net/uruit/archive/2011/09/13/accessing-odata-from-android-using-restlet.aspx寻求帮助...但我遇到了一些问题..请帮助我。
以下是我在运行应用程序时遇到的错误
当我尝试调试时,错误来自构造函数。下面是自动生成的代码
android - 未找到 Android odata4j Consumer EntitySet
我正在尝试将一些数据从 Android 放到 OData 服务器:
我将数据发送到服务器的方法:
每当我启动应用程序时,我都会收到以下错误adb logcat
:
我想我必须以DBModel
某种方式包含命名空间。但我不知道如何,似乎无法在文档中找到它。
编辑:我添加了这条线ODataConsumer.dump.all(true);
以查看客户端从服务器接收到的内容。我可以$metadata
在输出中看到如上所示的整体。
因此客户端能够连接到服务器并访问 EntitySet insertStuff
。但它仍然显示错误