American Flights プロセスの統合

これは進行中のベータリリースです。ベータ状態での Anypoint Code Builder の使用には、該当するベータサービス契約条件が適用されます。

最初に American Flights の例の基本インテグレーションを作成します。このインテグレーションは、American Flights API からの要求を処理するいくつかのロジックを提供する Mule アプリケーションです。

始める前に

次の手順を実行します。

  • American Flights API 仕様の設計 (API 仕様の作成から Exchange への仕様のパブリッシュまでのすべてのタスク)

  • Postman や Advanced REST クライアントなどの REST クライアントのインストール。

Mule アプリケーションを作成する

American Flights の例のインテグレーションアプリケーションを開始します。

  1. IDE のアクティビティバーで、​​ (​Anypoint Code Builder​) アイコンをクリックします。

    VS Code アクティビティバーの MuleSoft アイコン
  2. [Quick Actions (クイックアクション)]​ から ​[Develop an Integration (インテグレーションを開発)]​ をクリックします。

    [Getting started (使用開始)] セクション内で強調表示されている [Develop an Integration (インテグレーションを開発)]リンク
  3. 次の値を使用してインテグレーションプロジェクトを設定します。

    1. [Project Name (プロジェクト名)]​ で​「american-ws-anypoint-code-builder」​と入力します。

    2. [Project Location (プロジェクトの場所)]​ で ​[Browse (参照)]​ を選択してホームディレクトリを選択します。

  4. [Create Project (プロジェクトを作成)]​ をクリックします。

  5. HTTP リスナー操作と Set a Payload の設定​に進みます。

HTTP リスナー操作と Set a Payload の設定

リスナーの目的はフローをトリガーすることです。Set Payload でインテグレーション用の一部のテストデータを提供します。

  1. Project Explorer で ​american-ws-anypoint-code-builder.xml​ ファイルを選択します。

    Mule フローと Mule 設定ファイルの視覚表現領域に表示されている american-ws-anypoint-code-builder.xml ファイル

    2 つの異なるビューが表示されます。

    1 キャンバス UI では、Mule フローまたはサブフローを視覚的に表現する領域が提供されます。
    2 設定 XML エディターには、Mule アプリケーションの設定ファイルが表示されます。
  2. キャンバスで ​[Build a Flow (フローをビルド)]​ を選択して、空のフローを作成します。

  3. 設定 XML で、フローの名前を ​getFlights​ に置き換えます。

    自動的に生成されたフロー要素 名前変更されたフロー要素
    <flow name="name1" >
    
    </flow>
    <flow name="getFlights" >
    
    </flow>
  4. HTTP Listener コンポーネントを設定 XML に追加します。

    1. キャンバス UI の ​Flow​ コンポーネントの後で ​​ (​[Add component (コンポーネントを追加)]​) アイコンをクリックします。

      フロー内で強調表示されているプラスアイコン
    2. [HTTP]​ の検索結果から ​[Listener]​ を選択します。

      [Add Component (コンポーネントを追加)] セクション内で強調表示されている Listener コンポーネント

      設定 XML ファイルでは HTTP リスナーの XML が ​<flow/>​ 要素に追加されます。次に例を示します。

      <flow name="getFlights" >
        <http:listener path="" config-ref="" doc:name="Listener" doc:id="ojzfry" />
      
      </flow>
  5. 設定 XML の ​<flow/>​ 要素の前に ​<http:listener-config/>​ コンポーネントを追加します。

    1. 設定 XML で Ctrl+Spacebar (Mac) または Cmd+Spacebar(Windows) を押して XML 設定メニューを開きます。

    2. 「http」​と入力し、組み込み ​<http:listener-config/>​ スニペットを選択します。

      設定 XML メニュー内で強調表示されている 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 用に予約されています。コードスニペットについての詳細は、コードスニペットの操作を参照してください。

  6. HTTP Listener 操作 ​<http:listener/>​ および ​<http:listener-config/>​ の属性を設定します。

    (1)
    <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>
    
    (2)
    <flow name="getFlights">
        <http:listener path="flights" config-ref="inbound-request" doc:name="HTTP /flights" />
    </flow>
    1 <http:listener-config/>​ とその子要素 ​<http:listener-connection/>​ で、属性を例で指定された値に設定します。​doc:id​ はランダムに生成されます。変更する必要はありません。
    2 <http:listener/>​ で、属性を例で指定された値に設定します。
  7. キャンバス UI の HTTP リスナー要素のグラフィック表現に注意してください。

    キャンバスでプロセッサーを選択すると、設定 XML 内でその場所が強調表示されます。

    フローと XML コード内で強調表示されている HTTP リスナー
  8. キャンバス UI で HTTP Listener 操作の下に Set Payload コンポーネントを追加し、その属性を設定 XML で設定します。

    <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」​ (応答を設定) に設定します。
  9. 設定 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​ など) を設定して設定をリセットします。

  10. [Connection is valid (接続は有効)]​ メッセージを受け取ったら、​デバッグモードでアプリケーションを実行する​に進みます。

デバッグモードでアプリケーションを実行する

  1. [Run and Debug (実行とデバッグ)] パネルを開きます。

    手順を表示
    • アクティビティバーの ​​ (​Run and Debug (実行とデバッグ)​) アイコンをクリックする。

    • キーボードショートカットを使用する。

      • Mac: Cmd+Shift+d

      • Windows: Ctrl+Shift+d

    • デスクトップ IDE で、​[View (表示)]​ > ​[Run (実行)]​ を選択する。

    • クラウド IDE で、​​ (メニュー) アイコンをクリックし、​[View (表示)]​ > ​[Run (実行)]​ を選択する。

  2. [Debug Mule Application (Mule アプリケーションをデバッグ)]​ で ​​ (​[Start Debugging (F5) (デバッグを開始 (F5))]​) アイコンをクリックします。

    デバッガーを実行します。

    Anypoint Code Builder で Maven を使用してアプリケーションが構築され、埋め込み Mule Runtime Engine にデプロイされます。

    [Run (実行)]​ > ​[Start without Debugging (デバッグなしで実行)]​ を使用すると、エラーが発生します。

  3. IDE から、コンソールのターミナルウィンドウを開きます。

    • デスクトップ IDE で、​[View (表示)]​ > ​[Terminal (ターミナル)]​ を選択する。

    • クラウド IDE で、​​ (メニュー) アイコンをクリックし、​[Terminal (ターミナル)]​ > ​[New Terminal (新規ターミナル)]​ を選択する。

    • いずれかの IDE で、Ctrl キーを押してからバッククォートキー (`) を押す。

      *******************************************************************************
      * - -  + APPLICATION + - -   *   - - + DOMAIN + - -      * - - + STATUS + - - *
      *******************************************************************************
      * american-ws-anypoint-code-builder-1.0.0-SNAPS * default   * DEPLOYED        *
      *******************************************************************************
  4. アプリケーションをテストする​に進みます。

アプリケーションをテストする

IDE のターミナルを使用してフローをトリガーします。

  1. /flights​ エンドポイントへの URL を使用してターミナルから ​curl​ コマンドを実行し、フローをトリガーします。

    > curl http://0.0.0.0:8081/flights

    詳細は、​「フローをトリガーする」​ を参照してください。

  2. REST クライアントまたはブラウザーで応答 ​[Flight info (フライト情報)]​ がないかを確認します。

    この応答を受け取っていない場合、または接続エラーを受け取った場合、XML 設定を見直して、アプリケーションがデプロイされていることを確認し、HTTP リスナー接続を再確認します。

  3. [Flight info (フライト情報)]​ 応答を受け取ったら、​アプリケーションを停止する​に進みます。

アプリケーションを停止する

  1. Anypoint Code Builder のツールバーから停止アイコンを選択します。

    ツールバー内で強調表示されている停止アイコン
  2. アプリケーションからのデータベースの接続に進み、Exchange からコネクタをインポートして、American Flights API のフライトに関するデータを返す既存のデータベースに接続します。