2016-06-01 23 views
0

WSO2 ESB経由で既存のrestAPIをプロキシとして公開する方法に関する簡単な記事は見つかりません。WSO2に既存のAPIを公開する方法ESB

私は、ヘッダーのコンテンツタイプに基づいてJsonまたはXML出力のいずれかで応答する既存のAPIを持っています。このAPIをWSO2 ESBを通じてプロキシとして公開したいと思います。この場合、WSO2アプリケーションサーバーは必要ではないと思います。残りのAPIは独自のアプリケーションサーバー上で実行されています。

API: http://somehost.com:8001/api/BusinessApi/GetContentTypes

応答:

[{"contentTypeID":1,"name":"Movies","isTop":true,"subLevels":1,"contentTypeIdBase":1},{"contentTypeID":2,"name":"TV Show","isTop":true,"subLevels":3,"contentTypeIdBase":4},{"contentTypeID":3,"name":"TV Season","isTop":false,"subLevels":2,"contentTypeIdBase":4},{"contentTypeID":4,"name":"TV Episode","isTop":false,"subLevels":1,"contentTypeIdBase":4},{"contentTypeID":5,"name":"Music Album","isTop":true,"subLevels":2,"contentTypeIdBase":6},{"contentTypeID":6,"name":"Music Track","isTop":false,"subLevels":1,"contentTypeIdBase":6},{"contentTypeID":7,"name":"Music Video","isTop":false,"subLevels":1,"contentTypeIdBase":7},{"contentTypeID":8,"name":"Book Set","isTop":false,"subLevels":1,"contentTypeIdBase":8},{"contentTypeID":9,"name":"Books","isTop":true,"subLevels":1,"contentTypeIdBase":9}] 

目的はWSO2 ESB経由でAPIを公開し、以下のアクションを達成しようとすることです:

  1. API呼び出しをロギングを
  2. 条件に基づくメッセージング/フォークコール
  3. すべてのAPIコールを一元化する認証モデル
  4. この機能を実現するにはESBサーバーを実行するだけですか?

ありがとうございました!プロキシAPIを設定

答えて

1

、これが唯一のメーン>サービス-BUS-の下にAPIオプションを追加すること

  1. を介して行うことができます>のAPI
  2. は、APIに上のアイデンティティであるカスタム名を付けWSO2 ESB。
  3. カスタムリソースであるコンテキストを指定します。
  4. は、あなたが今、ESBプロキシURL経由でAPIにアクセスすることであるべきスニペットのスニペット

    <api xmlns="http://ws.apache.org/ns/synapse" name="GetC" context="/api1"> 
        <resource methods="GET" url-mapping="/"> 
         <inSequence> 
         <log/> 
         <send> 
          <endpoint> 
           <address uri="http://somehost.com:8001/api/businessApi/GetContentTypes"/> 
          </endpoint> 
         </send> 
         </inSequence> 
         <outSequence> 
         <log/> 
         <send/> 
         </outSequence> 
        </resource> 
    </api> 
    

    終了を開始しますソースビューに移動し、以下のソース

を追加

+0

WSO2 APIマネージャを試しましたか?下の私の答えを見てください。 –

0

あなたのアプローチでは、ESBにapiを作成して、リクエストをバックエンドAPIに渡します。この間、すべてのAPI呼び出しをログに記録し、認証を制御することも期待します。私はフォークの要件を理解していませんでした。

WSO2 API Managerを試しましたか?それはあなたのAPIを管理APIにすることができます。つまり、oauthトークンを介してAPIへのアクセスを制御することができます。パフォーマンスの理由からすべてのコールを記録するのは良いことではありませんが、APIコールもログに記録できます。

WSO2 DASと統合すると、便利な統計情報も表示されます。これはAPIマネージャのドキュメントです。

https://docs.wso2.com/display/AM1100/WSO2+API+Manager+Documentation

関連する問題