最初に American Flights の例の基本インテグレーションを作成します。このインテグレーションは、American Flights API からの要求を処理するいくつかのロジックを提供する Mule アプリケーションです。
始める前に
次の手順を実行します。
-
American Flights API 仕様の設計 (API 仕様の作成から Exchange への仕様のパブリッシュまでのすべてのタスク)
-
Postman や Advanced REST クライアントなどの REST クライアントのインストール。
Mule アプリケーションを作成する
American Flights の例のインテグレーションアプリケーションを開始します。
-
IDE のアクティビティバーで、
(Anypoint Code Builder) アイコンをクリックします。
-
[Quick Actions (クイックアクション)] から [Develop an Integration (インテグレーションを開発)] をクリックします。
-
[Develop an Integration (インテグレーションを開発)] フォームにインテグレーションプロジェクトプロパティを入力します。
-
[Project Name (プロジェクト名)] で
「american-ws-anypoint-code-builder」と入力します。 -
[Project Location (プロジェクトの場所)] で [Browse (参照)] を選択してホームディレクトリを選択します。
-
[Create (作成)] で、[Empty Project (空のプロジェクト)] を選択します。
-
Mule Runtime および Java バージョンを選択します。
サポートされている Mule Runtime と Java バージョンのいずれかを選択できます。IDE は、バージョン設定をプロジェクトの
mule-artifact.json ファイルに保存します。 バージョンサポートと Mule パッチ自動更新については、「Mule と Java バージョンのサポート」を参照してください。 作成するプロジェクトのデフォルトの Mule Runtime バージョンと Java バージョンを設定するには、Mule、Java、コネクタのバージョン設定を参照してください。
-
-
[Create Project (プロジェクトを作成)] をクリックします。
IDE では、プロジェクト用に選択した Mule Runtime バージョンまたは Java バージョンをダウンロードする必要がある場合に通知が表示されます。Mule Runtime は
${user.home}/AnypointCodeBuilder/runtimes にダウンロードされ、選択した Java バージョンは ${user.home}/AnypointCodeBuilder/java にダウンロードされます。
HTTP リスナー操作と Set a Payload の設定
リスナーの目的はフローをトリガーすることです。Set Payload でインテグレーション用の一部のテストデータを提供します。
-
プロジェクトのキャンバスおよび設定 XML が開いていない場合、[Explorer] から
american-ws-anypoint-code-builder.xml に移動します。
1 キャンバスでは、Mule フローまたはサブフローを視覚的に表現する領域が提供されます。 2 設定 XML エディターには、Mule アプリケーションの設定ファイルが表示されます。 -
キャンバスで [Build a Flow (フローをビルド)] を選択して、Mule インテグレーションアプリケーション内で空のフローを作成します。
-
キャンバスまたは設定 XML からフローのデフォルト名を変更します。
-
キャンバスから
-
設定 XML から
[Flow name1 (フロー 名前 1)] をクリックして Flow コンポーネントの設定パネルを開き、フロー名を
getFlights に変更し、チェックマークをクリックして新しい名前を設定します。
フローのデフォルトの名前 (
name1 (名前 1)) を getFlights に置き換えます。自動的に生成されたフロー要素 名前変更されたフロー要素 <flow name="name1" > </flow><flow name="getFlights" > </flow> -
-
HTTP Listener コンポーネントを設定 XML に追加します。
-
キャンバスの Flow コンポーネントの後で
([Add component (コンポーネントを追加)]) アイコンをクリックします。
-
[HTTP] の検索結果から [Listener] を選択します。
設定 XML ファイルでは HTTP リスナーの XML が
<flow/> 要素に追加されます。次に例を示します。<flow name="getFlights" > <http:listener path="" config-ref="" doc:name="Listener" doc:id="ojzfry" /> </flow>
-
-
設定 XML で、<flow> 開始タグの前にカーソルを置いて
「http」と入力します。 -
組み込み
<http:listener-config/> スニペットを選択します。
スニペット XML の例:<http:listener-config name="HTTP_Listener_config" > <http:listener-connection host="0.0.0.0" port="8081" /> </http:listener-config>メニュー内では、スニペットは 2 次元ボックスアイコンで表されている部分的に設定された Mule コンポーネントです。3 次元ボックスアイコンは、事前設定されていない基本コンポーネント XML 用に予約されています。コードスニペットについての詳細は、コードスニペットの操作を参照してください。
-
設定 XML で、HTTP リスナー設定
<http:listener-config/> の属性を設定します。<http:listener-config name="inbound-request" doc:name="Listener Config" doc:id="b5c62f-a84a3a"> <http:listener-connection host="0.0.0.0" port="8081"/> </http:listener-config><http:listener-config/> とその子要素 <http:listener-connection/> で、属性を例で指定された値に設定します。[name (名前)] 属性が inbound-request に変更されています。doc:id はランダムに生成されます。変更する必要はありません。 -
HTTP リスナー設定の属性を設定します。
-
キャンバスから
-
設定 XML から
[Listener] 操作をクリックして、その設定パネルを開き、HTTP Listener の属性を次の値に設定します。
1 操作名を HTTP /flights に変更します。2 設定参照ドロップダウンメニューから [inbound-request] を選択します。3 [Path (パス)] 属性を [flights (フライト)] に設定します。<http:listener/> で、属性を例で指定された値に設定します。<flow name="getFlights"> <http:listener path="flights" config-ref="inbound-request" doc:name="HTTP /flights" /> </flow> -
-
キャンバスから、HTTP Listener 操作の後に Set Payload コンポーネントを追加します。
-
Set Payload コンポーネント属性を設定します。
-
キャンバスから
-
設定 XML から
[Set Payload] コンポーネントをクリックして、その設定パネルを開き、属性を次の値に設定します。
1 コンポーネント名を Set Response に変更します。2 [Value (値)] 属性を [Flight info (フライト情報)] に設定します。<set-payload/> で、属性を例で指定された値に設定します。<http:listener-config name="inbound-request" doc:id="b5c62f-a84a3a"> <http:listener-connection host="0.0.0.0" port="8081" /> </http:listener-config> <flow name="getFlights" > <http:listener path="flights" config-ref="inbound-request" doc:name="HTTP /flights" doc:id="htprur" /> (1) <set-payload value="Flight info" doc:name="Set Response" doc:id="e43e98-1a9a01"/> </flow>1 value 属性を「Flight info」 (フライト情報) に設定し、doc:name を「Set Response」 (応答を設定) に設定します。 -
-
設定 XML の
<http:listener-config/> の前で [Test Connection (接続をテスト)] をクリックし、HTTP リスナー接続を確認します。UI では次の状況が提供されます。
-
Verifying connection inbound-request (接続のインバウンド要求を検証中): テストが進行中であることを示します。
-
Connection is valid (接続は有効): 正常に接続されていることを示します。
-
Invalid Connection Got status code: 500 when trying to resolve a Mule Runtime operation (Mule Runtime 操作を解決しようとしているときに無効な接続で状況コード 500 を取得): 接続エラーを示します。
一般的なコード
500 エラーは、[port 8081: Address already in use (ポート 8081: アドレスはすでに使用中)] です。ポート競合の場合、別のポート (8082 など) を設定して設定をリセットします。
-
-
[Connection is valid (接続は有効)] メッセージを受け取ったら、デバッグモードでアプリケーションを実行するに進みます。
デバッグモードでアプリケーションを実行する
-
[Run and Debug (実行とデバッグ)] パネルを開きます。
手順を表示
-
アクティビティバーの
(Run and Debug (実行とデバッグ)) アイコンをクリックする。 -
キーボードショートカットを使用する。
-
Mac: Cmd+Shift+d
-
Windows: Ctrl+Shift+d
-
-
デスクトップ IDE で、[View (表示)] > [Run (実行)] を選択する。
-
クラウド IDE で、
(メニュー) アイコンをクリックし、[View (表示)] > [Run (実行)] を選択する。
-
-
[Debug Mule Application (Mule アプリケーションをデバッグ)] で
([Start Debugging (F5) (デバッグを開始 (F5))]) アイコンをクリックします。
Anypoint Code Builder で Maven を使用してアプリケーションが構築され、埋め込み Mule Runtime Engine にデプロイされます。
[Run (実行)] > [Start without Debugging (デバッグなしで実行)] を使用すると、エラーが発生します。
-
IDE から、コンソールのターミナルウィンドウを開きます。
-
デスクトップ IDE で、[View (表示)] > [Terminal (ターミナル)] を選択する。
-
クラウド IDE で、
(メニュー) アイコンをクリックし、[Terminal (ターミナル)] > [New Terminal (新規ターミナル)] を選択する。 -
いずれかの IDE で、Ctrl キーを押してからバッククォートキー (`) を押す。
******************************************************************************* * - - + APPLICATION + - - * - - + DOMAIN + - - * - - + STATUS + - - * ******************************************************************************* * american-ws-anypoint-code-builder-1.0.0-SNAPS * default * DEPLOYED * *******************************************************************************
-
-
アプリケーションをテストするに進みます。
アプリケーションをテストする
IDE のターミナルを使用してフローをトリガーします。
-
/flights エンドポイントへの URL を使用してターミナルから curl コマンドを実行し、フローをトリガーします。curl http://0.0.0.0:8081/flights詳細は、「フローをトリガーする」を参照してください。
-
REST クライアントまたはブラウザーで応答 [Flight info (フライト情報)] がないかを確認します。
この応答を受け取っていない場合、または接続エラーを受け取った場合、XML 設定を見直して、アプリケーションがデプロイされていることを確認し、HTTP リスナー接続を再確認します。
-
[Flight info (フライト情報)] 応答を受け取ったら、アプリケーションを停止するに進みます。
アプリケーションを停止する
-
Anypoint Code Builder のツールバーから停止アイコンを選択します。
-
アプリケーションからデータベースへの接続に進み、Exchange からコネクタをインポートして、American Flights API のフライトに関するデータを返す既存のデータベースに接続します。