问题标签 [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 - 在 Java 中生成和使用 OData XML
我正在尝试构建一个生产者和一个消费者,用于基于 GraphML 文件生成 OData。
仅使用来自 XML 的 odata4j 的示例生产者和消费者,我在尝试使用他们的示例生产者构建的示例文件时收到以下错误。
因此,当我基于此示例实现生产者并尝试基于消费者示例使用它时,会出现相同的错误。
任何帮助都将不胜感激。
java - 我正在为 Android 使用 OData4j,我无法获取实体
这是我的代码:
在模拟器中运行时,出现错误:08-28 17:30:05.793: ERROR/AndroidRuntime(781): FATAL EXCEPTION: main java.lang.NoClassDefFoundError: javax.ws.rs.ext.RuntimeDelegate at org.odata4j.jersey .consumer.ODataJerseyConsumer.(ODataJerseyConsumer.java:22) 在 org.odata4j.jersey.consumer.ODataJerseyConsumer.(ODataJerseyConsumer.java:14) 在 org.odata4j.jersey.consumer.ODataJerseyConsumer$Builder.build(ODataJerseyConsumer.java:93 ) 在 com.example.toggleDemo.MainActivity.GetExpenseReports(MainActivity.java:38) 在 com.example.toggleDemo.MainActivity.onCreate(MainActivity. java:22) 在 android.app.ActivityThread 的 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)。performLaunchActivity(ActivityThread.java:2627) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 在 android.app.ActivityThread.access$2300(ActivityThread.java:125) 在 android.app.ActivityThread$H.handleMessage( ActivityThread.java:2033) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:123) 在 android.app.ActivityThread.main(ActivityThread.java:4627 ) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:521) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java :868) 在 dalvik.system.NativeStart.main(Native Method) 的 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)2627) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 在 android.app.ActivityThread.access$2300(ActivityThread.java:125) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:123) 在 android.app.ActivityThread.main(ActivityThread.java:4627) 在 java.lang。 reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) at com. dalvik.system.NativeStart.main(本机方法)上的 android.internal.os.ZygoteInit.main(ZygoteInit.java:626)2627) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 在 android.app.ActivityThread.access$2300(ActivityThread.java:125) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:123) 在 android.app.ActivityThread.main(ActivityThread.java:4627) 在 java.lang。 reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) at com. dalvik.system.NativeStart.main(本机方法)上的 android.internal.os.ZygoteInit.main(ZygoteInit.java:626)2679) 在 android.app.ActivityThread.access$2300(ActivityThread.java:125) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 在 android.os.Handler.dispatchMessage(Handler.java:99)在 android.os.Looper.loop(Looper.java:123) 在 android.app.ActivityThread.main(ActivityThread.java:4627) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect .Method.invoke(Method.java:521) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626 ) 在 dalvik.system.NativeStart.main(Native Method)2679) 在 android.app.ActivityThread.access$2300(ActivityThread.java:125) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 在 android.os.Handler.dispatchMessage(Handler.java:99)在 android.os.Looper.loop(Looper.java:123) 在 android.app.ActivityThread.main(ActivityThread.java:4627) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect .Method.invoke(Method.java:521) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626 ) 在 dalvik.system.NativeStart.main(Native Method)dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4627) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) at com.android.internal.os.ZygoteInit .main(ZygoteInit.java:626) 在 dalvik.system.NativeStart.main(Native Method)dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4627) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) at com.android.internal.os.ZygoteInit .main(ZygoteInit.java:626) 在 dalvik.system.NativeStart.main(Native Method)第868章)第868章)
提前致谢!
android - 检测特定 IP 上的服务是否可用的最快方法是什么
我的 Android 程序必须扫描 255 个 LAN 地址以查找 OData 服务(WCF 数据服务)是否可用。
该服务在 1 或 2 台计算机上运行,局域网上有大约 20 台设备,但是当我的代码“扫描”正在使用但不托管服务的 IP 地址时,它不会立即抛出异常,而是等待很长时间所以找到 2 个地址需要 10 分钟。
这是代码:
如果服务未托管在那里,为什么它会在保留的 IP 处等待?
如果那里没有服务,我怎样才能立即检测到?
odata - 使用 odata4j 消费者发布批处理请求
我打算ODATA4J
在我们的项目中使用库。
截至目前,我有一组需要发送到ODATA
服务的记录。虽然我可以单独发送每条记录,但我正在寻找使用ODATA4J
.
我可以找到有关生产者端库 ( ODataBatchProvider
) 的参考资料。但是,无法在消费者方面找到文档。
感谢有关使用消费者(客户端)端库ODATA4J
发布批处理请求的指针/文档中的任何帮助。
java - 如何检索相关的Odata实体Odata4j
我无法使用odata4j库检索相关实体。我的问题如下:
A 与 B 有一对多的关系。A 有一个 B 类型项目的列表“bs”。我创建了实体 A 和链接使用
然后我使用以下方法检索实体 B,其中 convert 将检索到的对象的属性分配给 A 类型的对象:
在转换中,我尝试使用以下方法获取相关实体:
以上导致检索到链接,但“getRelatedEntity”返回 null
我是否使用了错误的链接和相关实体?如果是这样,我将如何在 Odata4j 中检索相关实体?网上的例子不多。
您的帮助将不胜感激。
谢谢
编辑: 我还尝试使用以下方法检索相关实体:
而且我尝试使用创建链接,这似乎以相同的方式工作,但需要额外调用来获取实体 B:
android - Android 客户端的 WCF 数据服务压缩
我使用驻留在 Windows 服务程序中的 WCF 数据服务服务,并使用 Android 手机使用Odata4j获取数据。我从中获得了大量数据,我需要压缩来自数据服务的数据。我认为GZip是一种标准的压缩算法,Android 应该有必要的解码方法。
可能吗?我找不到我的数据服务的压缩设置,更不用说解压缩的 Android 端了。实现这一目标的最佳方法是什么?
android - 如何获取 OData v3 WCF 数据服务调用以使用 v3 协议进行通信
我有一个有趣的情况。我有两个应用程序调用 Microsoft WCF OData 服务上的函数:
- Android 使用 OData4J 库 (v0.7)
- iOS 使用 OData4ObjC 库(iOS 6.1 的Elizabeth Duncan fork )
OData 服务是使用 Microsoft WCF 数据服务 v5.6 编写的。我[WebGetAttribute()]
在我的服务类中的方法上使用了一个属性:
当 Android 应用进行 OData 函数调用时,WCF 数据服务会以复杂类型的 v1 集合进行响应。当 iOS 库对 WCF 数据服务进行函数调用时,它期望使用 v3 返回集合。
我的问题是:
- 是否可以让 OData4ObjC 库使用 OData v1 协议进行通信?
- 是否可以让 WCF 数据服务使用 OData v3 协议进行响应?
- 我需要做什么才能使第 1 项和/或第 2 项起作用?
这就是我所说的 OData v1 响应的意思:
这就是我所说的 OData v3 响应的意思:
datetimeoffset - DateTimeOffset 上的 ODATA 过滤
我正在尝试过滤 DateTimeOffset(以下示例中的 myDate)。由于我想忽略时间部分,我相信过滤的唯一方法是分别比较年、月和日组件,例如
这也符合 ODATA 规范: http ://www.odata.org/documentation/odata-v3-documentation/url-conventions/#512412_year
问题是......它只是不起作用:
如果我使用下面的过滤器,那么我不会收到任何错误,但这不是我想要做的,因为 myDate 中的时间部分永远不会是午夜 (T00:00:00.000Z),所以相等总是导致 False:
任何想法?非常感谢!
android - 如何在 Android 中使用 odata4j 解码 GZip 流
我有一个使用 GZip 发送数据的 WCF 数据服务。我打算使用odata4j来读取该压缩流。如果它没有被压缩,它工作正常。我应该修改什么才能通过 odata4j 读取压缩流?
这是压缩流的 C# 代码:
这是读取数据的 Odata4j 部分:
java - Odata with Olingo or Odata4j
I'm in over my head.
At the broadest level, I'm trying to expose an Odata interface to an existing pool of data exposed by a service written using Mule. When my Mule service is invoked, if I detect that the URL is Odata format, I want to delegate processing down to something written in Java and then feed the response from that component back to my caller.
I found the Olingo and OData4j libraries. My problem is that these start from building a Web service. But that's too far upstream for me. I have a Web service. What I need to understand are what components I need to implement in order to pass the URL (which I have in hand) onward to an Odata parser which will, in turn, invoke a data provider.
I'm a bit lost with this technology. Can someone point me to a very basic tutorial that clearly delineates this. Or, can they give me a couple steps like: "You have to implement A, B & C and then pass your URL into C.foo()"?
I've tried the Getting Started doc for both libraries but they both start with "first we'll implement a Web service" and don't clearly delineate (to me, at least) where that leaves off and pure Odata sets in.
Thanks.