問題タブ [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) at org.odata4j.jersey.consumer.ODataJerseyConsumer.(ODataJerseyConsumer.java:14) at org.odata4j.jersey.consumer.ODataJerseyConsumer$Builder.build(ODataJerseyConsumer.java:93) ) org.odata4j.jersey.consumer.ODataJerseyConsumer.create(ODataJerseyConsumer.java:115) で com.example.toggleDemo.MainActivity.GetExpenseReports(MainActivity.java:38) で com.example.toggleDemo.MainActivity.onCreate(MainActivity. java:22) android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) で android.app.ActivityThread.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) ) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java で java.lang.reflect.Method.invoke(Method.java:521) で java.lang.reflect.Method.invokeNative(ネイティブ メソッド) で:868) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) で dalvik.system.NativeStart.main(ネイティブ メソッド)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. com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) の java.lang.reflect.Method.invoke(Method.java:521) でのreflect.Method.invokeNative(ネイティブ メソッド)。 android.internal.os.ZygoteInit.main(ZygoteInit.java:626) で dalvik.system.NativeStart.main(ネイティブ メソッド)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. com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) の java.lang.reflect.Method.invoke(Method.java:521) でのreflect.Method.invokeNative(ネイティブ メソッド)。 android.internal.os.ZygoteInit.main(ZygoteInit.java:626) で dalvik.system.NativeStart.main(ネイティブ メソッド)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(ネイティブ メソッド) で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(ネイティブ メソッド) でandroid.os.Looper.loop(Looper.java:123) での dispatchMessage(Handler.java:99)メソッド) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) で java.lang.reflect.Method.invoke(Method.java:521) com.android.internal.os.ZygoteInit で.main(ZygoteInit.java:626) at dalvik.system.NativeStart.main(ネイティブ メソッド)android.os.Looper.loop(Looper.java:123) での dispatchMessage(Handler.java:99)メソッド) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) で java.lang.reflect.Method.invoke(Method.java:521) com.android.internal.os.ZygoteInit で.main(ZygoteInit.java:626) at dalvik.system.NativeStart.main(ネイティブ メソッド)868) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) で dalvik.system.NativeStart.main(ネイティブ メソッド)868) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) で dalvik.system.NativeStart.main(ネイティブ メソッド)
前もって感謝します!
java - 関連する Odata エンティティを取得する方法 Odata4j
odata4jライブラリを使用して関連エンティティを取得できません。私の問題は次のとおりです。
A は B と 1 対多の関係にあります。A にはタイプ B のアイテムのリスト「bs」があります。エンティティ A とリンクを使用して作成しました。
次に、次を使用してエンティティ B を取得しました。convert は、取得したオブジェクトのプロパティをタイプ A のオブジェクトに割り当てます。
変換では、次を使用して関連エンティティを取得しようとしました:
上記の結果、リンクが取得されましたが、「getRelatedEntity」は null を返します
リンクと関連エンティティの使用は間違っていますか? その場合、Odata4j で関連するエンティティを取得するにはどうすればよいですか? オンラインでの例はあまりありません。
どうぞよろしくお願いいたします。
ありがとうございました
編集:次 を使用して関連エンティティを取得しようとしました:
そして、同じように機能するように見えるリンクを作成しようとしましたが、エンティティ B を取得するための追加の呼び出しが必要です。
android - Android クライアント用の WCF Data Service 圧縮
Windows Service プログラムに常駐する WCF Data Services サービスを使用し、Odata4jを使用して Android フォンでデータを取得します。そこから大量のデータを取得し、Data Service からのデータを圧縮する必要があります。私はGZipを標準の圧縮アルゴリズムとして考えていましたが、Android には必要なデコード方法が必要です。
出来ますか?解凍の Android 側は言うまでもなく、データ サービスの圧縮設定が見つかりませんでした。これを達成するための最良の方法は何ですか?
android - v3 プロトコルを使用して通信するための OData v3 WCF Data Service 呼び出しを取得する方法
興味深い状況があります。Microsoft WCF OData サービスで関数を呼び出す 2 つのアプリケーションがあります。
- OData4J ライブラリを使用する Android (v0.7)
- OData4ObjC ライブラリを使用する iOS ( iOS 6.1 のElizabeth Duncan フォーク)
OData サービスは、Microsoft WCF Data Service v5.6 を使用して記述されています。[WebGetAttribute()]
サービス クラスのメソッドで属性を使用しています。
Android アプリが OData 関数呼び出しを行うと、WCF データ サービスは複合型の v1 コレクションで応答します。iOS ライブラリが WCF データ サービスに対して関数呼び出しを行うとき、v3 を使用してコレクションが返されることを期待しています。
私の質問は次のとおりです。
- OData4ObjC ライブラリが OData v1 プロトコルを使用して通信することは可能ですか?
- OData v3 プロトコルを使用して WCF Data Service を応答させることはできますか?
- 項目 1 および/または項目 2 を機能させるにはどうすればよいですか?
OData v1 応答の意味は次のとおりです。
これが、OData v3 応答の意味です。
android - Androidでodata4jを使用してGZipストリームをデコードする方法
GZip でデータを送信する WCF データ サービスがあります。その圧縮ストリームを読み取るためにodata4jを使用するつもりです。圧縮されていない場合は、正常に動作します。odata4j 経由で圧縮ストリームを読み取れるようにするには、何を変更すればよいですか?
ストリームを圧縮する C# コードは次のとおりです。
データを読み取る Odata4j 部分は次のとおりです。
java - Olingo または Odata4j を使用した Odata
私は頭の上にいます。
最も広いレベルでは、Mule を使用して記述されたサービスによって公開された既存のデータ プールに Odata インターフェイスを公開しようとしています。Mule サービスが呼び出されたときに、URL が Odata 形式であることを検出した場合は、処理を Java で記述されたものに委任し、そのコンポーネントからの応答を呼び出し元に送り返したいと考えています。
Olingo および OData4j ライブラリを見つけました。私の問題は、これらが Web サービスの構築から始まることです。しかし、それは私にとってはあまりにも上流です。私は Web サービスを持っています。理解する必要があるのは、(手元にある) URL を Odata パーサーに渡すためにどのコンポーネントを実装する必要があるかです。Odata パーサーはデータ プロバイダーを呼び出します。
私はこの技術に少し戸惑っています。誰かがこれを明確に説明する非常に基本的なチュートリアルを教えてくれますか? または、「A、B、および C を実装してから、URL を C.foo() に渡す必要があります」のようないくつかの手順を教えてもらえますか?
私は両方のライブラリの入門ドキュメントを試しましたが、どちらも「最初にWebサービスを実装します」から始まり、(少なくとも私には)それがどこで終了し、純粋なOdataが設定されるかを明確に示していません.
ありがとう。