問題タブ [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.
java - java.lang.IllegalArgumentException をスローする Apache Olingo 4.2 API
OData 4.0 をサポートする Microsoft CRM OData サービスにアクセスするために、Apache Olingo 4.2 クライアント API を使用しようとしています。OAuth 資格情報を提供することで Microsoft CRM で API を認証できますが、応答 EDMX ドキュメントを解析している間、API は以下の例外をスローします。親 URL と異なる参照 URL を一致させようとします。
java.lang.IllegalArgumentException
参照されている EDMX ドキュメントには URI http://vocabularies.odata.org/OData.Community.Keys.V1.xmlがあり、スキーム、ホスト、またはポートはメインのメタデータ ドキュメント URI ' https://crmonlinebcone.crm8 とは異なります。 dynamics.com/api/data/v8.1
誰かが同じ問題に直面した場合は、これについて提案してください。
c# - Microsoft OData クライアントがフル メタデータを要求しないようにする
Microsoft.OData.Client で Olingo OData サービスを使用しようとしています。ほとんどのリクエストでは、クライアントは header を送信しますが、ナビゲーション プロパティ (つまり)accept: application/json;odata.metadata=minimalに従おうとすると、クライアントは header を送信します。Olingo v4.2 は JSON の完全なメタデータをサポートしておらず、HTTP 406 Not Acceptable で応答します。GET http://localhost/odata.svc/Parent(key)/Childrenaccept: application/json;odata.metadata=full
Microsoft.OData.Client に強制的に metadata=minimal を使用させる方法はありますか? または完全なメタデータはナビゲーション プロパティの本質的な要件ですか?
apache-camel - Camel Olingo2 は URI を解析しますか?
トップ、フォーマット、およびフィルターの queryParams を使用して OData サービスへの Camel Olingo2 ルートを実行しようとしていますが、Olingo コンポーネントはパラメーターをエンコードしていないため、URISyntaxException がスローされ、コンポーネントを呼び出す前にパラメーターをエンコードすると、パラメーターは無効として返されます。Olingo2 コンポーネントでフィルター パラメーターを使用する方法はありますか?
例:
ルート例
エラーログ
java - JPA/Olingo プロジェクトで $expand が正しく機能しないのはなぜですか
現在、JPA/Olingo ベースの odata サービスに取り組んでいます。使用する Olingo のバージョンは 2.0.7 です。使用される JPA 実装は、eclipselink バージョン 2.5.1 です。OneToMany 関係 (会社、ページ) を介して接続された 2 つのエンティティがあります。$expand を使用せずにサービス (/odata/v2/Companies など) から会社を要求すると、正常に機能します。ページをリクエストする場合も同様です。ページのリクエストと CompanyDetails の展開も同様に正常に機能します。なんらかの方法で会社をリクエストし、関連付けられたページを展開すると (例: /odata/v2/Companies?$expand=Pages)、遅延リンク (例: /odata/v2/Companies('P')) を呼び出すと、ページのサイズがゼロの配列が返されます。 /Pages) は、期待どおりにページの配列を返します。
これが私のpersistence.xmlです(まだテストされていない他のエンティティは省略しています):
私の会社のクラスは次のようになります。
My Page クラスは次のようになります。
ODataJPAServiceFactory を拡張し、initializeODataJPAContext メソッドをオーバーライドしています。
EntityManagerFactory は次のように作成されます。
私のマッピングファイルは次のようになります。
jpa - Olingo JPA Odata Producer - エンティティ間に関連付けがある場合にレコードを挿入する方法
Northwind 実装を持つ MYSQL Db で olingo+JPA を使用して oData プロデューサーを作成しました。私は、northwind.inventory_transaction_types と fk リレーションを持つテーブル northwind.inventory_transactions を持っています。これは、JPA でオブジェクト リレーションに変換されます。odata を使用すると、次の応答が返されます。
GET リクエスト http/localhost:8080/sample/galaxyService.svc/InventoryTransactions?$format=json&$top=1
{ d: { 結果: [ { __metadata: { id: "http/localhost:8080/sample/galaxyService.svc/InventoryTransactions(35)", uri: "http/localhost:8080/sample/galaxyService.svc/InventoryTransactions(35) )", type: "sample.InventoryTransaction" }, Comments: null, Customer: 4, Extra: null, Id: 35, InventoryTransactionType: 1, Order: null, PurchaseOrder: null, Quantity: 75, TransactionCreatedDate: "/Date( 1143023548000)/"、TransactionModifiedDate: "/Date(1143023548000)/"、重量: "0"、CustomerDetails: { __deferred: {
enter code hereuri: "http/localhost:8080/sample/galaxyService.svc/InventoryTransactions(35)/CustomerDetails" } }, InventoryTransactionTypeDetails: { __deferred: { uri: "http/localhost:8080/sample/galaxyService.svc/InventoryTransactions(35) /InventoryTransactionTypeDetails" } }, OrderDetails: { __deferred: { uri: "http/localhost:8080/sample/galaxyService.svc/InventoryTransactions(35)/OrderDetails" } }, ProductDetails: { __deferred: { uri: "http/localhost: 8080/sample/galaxyService.svc/InventoryTransactions(35)/ProductDetails" } }, PurchaseOrderDetails: { __deferred: { uri: "http/localhost:8080/sample/galaxyService.svc/InventoryTransactions(35)/PurchaseOrderDetails" } }, PurchaseOrderDetailDetails : { __deferred: { uri: "http/localhost:8080/sample/galaxyService.svc/InventoryTransactions(35)/PurchaseOrderDetails" } } ] } }
POSTMAN プラグインを使用して同じ上で POST 操作を試行しているときに、「」という例外が発生します。以下はリクエスト POST http/localhost:8080/sample/galaxyService.svc/InventoryTransactions です
{ "Comments": "", "Customer": 4, "Extra": null, "Order": null, "PurchaseOrder": null, "InventoryTransactionType":1, "Quantity": 75, "TransactionCreatedDate": "/ Date(1143023548000)/", "TransactionModifiedDate": "/Date(1143023548000)/", "重み": "0"
} エラー:
例外 [EclipseLink-4002] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.DatabaseException 内部例外: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: 列 'transaction_type' を指定できませんnull エラー コード: 1048 呼び出し: INSERT INTO inventory_transactions (ID、COMMENTS、EXTRA、QUANTITY、transaction_created_date、transaction_modified_date、WEIGHT、CustomerCode、transaction_type、customer_order_id、PRODUCT_ID、purchase_order_id) VALUES (?、?、?、?、?、?、? , ?, ?, ?, ?, ?) bind => [12 個のパラメーターがバインドされている] クエリ: InsertObjectQuery(model.InventoryTransaction@63adef6d)
このような関係がある場所に投稿する方法を教えてください。
ありがとう、アヌバフ。
java - Olingo (Odata) で HTTP 認証サービス呼び出しを行う方法
基本的な HTTP 認証によって保護されているアクセスする Web サービスがあります。
Web サービスに認証を送信するように ODataClient を設定するにはどうすればよいですか?