5

私は頭の上にいます。

最も広いレベルでは、Mule を使用して記述されたサービスによって公開された既存のデータ プールに Odata インターフェイスを公開しようとしています。Mule サービスが呼び出されたときに、URL が Odata 形式であることを検出した場合は、処理を Java で記述されたものに委任し、そのコンポーネントからの応答を呼び出し元に送り返したいと考えています。

Olingo および OData4j ライブラリを見つけました。私の問題は、これらが Web サービスの構築から始まることです。しかし、それは私にとってはあまりにも上流です。私は Web サービスを持っています。理解する必要があるのは、(手元にある) URL を Odata パーサーに渡すためにどのコンポーネントを実装する必要があるかです。Odata パーサーはデータ プロバイダーを呼び出します。

私はこの技術に少し戸惑っています。誰かがこれを明確に説明する非常に基本的なチュートリアルを教えてくれますか? または、「A、B、および C を実装してから、URL を C.foo() に渡す必要があります」のようないくつかの手順を教えてもらえますか?

私は両方のライブラリの入門ドキュメントを試しましたが、どちらも「最初にWebサービスを実装します」から始まり、(少なくとも私には)それがどこで終了し、純粋なOdataが設定されるかを明確に示していません.

ありがとう。

4

2 に答える 2

4

以下は、OData を介して公開するサービスからのデータの使用を開始するのに役立つコードです (Apache Olingo を使用)。

 URL url=new URL(/*your url*/);
 HttpURLConnection conn=(HttpURLConnection) url.openConnection();
 conn.setRequestMethod("GET");
 conn.setRequestProperty(HttpHeaders.ACCEPT,HttpContentType.APPLICATION_XML);
 conn.connect();
 InputStream content=conn.getInputStream();
 Edm edm = EntityProvider.readMetadata(content, false);

この後、EntityProvider クラスの静的メソッドを使用して、読み取り、更新、書き込みなどのさまざまな操作を実行できます。

odata4j を使用している場合は、次のコードを使用します

   ODataConsumer demo_consumer= ODataConsumers.create(/*your URL*/);
   Enumerable<EntitySetInfo> demo_entitySetList = demo_consumer.getEntitySets();


    for (EntitySetInfo entitySet : entitySetList) {
      System.out.println(entitySet.getHref());
    }
于 2014-05-08T10:56:39.227 に答える
-2

これは、RSS やその他のデータ フィードの読み方とよく似ています。

URL があるので、これは Http コネクタまたはポーリング http コネクタでさえ読み取ることができます。データは、デフォルトの動作である Java 入力ストリームを使用してストリーミングするか、文字列 (オブジェクトから文字列) に変換できます。

(OData4j) を使用する単純な Java コンポーネントでコンテンツを処理できます。これは、ミュール フローの 2 つの単純なコンポーネントのように聞こえます。

R

于 2013-11-22T09:28:01.970 に答える