「HTTP 受信要求」アクティビティー

HTTP 要求の受信 (HTTP Receive Request)」アクティビティーを使用して、統合アプライアンスが HTTP リスナーとして機能するように構成します。

次の図は、HTTP リスナーとして機能する統合アプライアンスを示しています。
図 1.
HTTP 要求の受信 (HTTP Receive Request)」アクティビティーは、スターター・アクティビティーです。 「HTTP 要求の受信 (HTTP Receive Request)」アクティビティーから開始されるオーケストレーションが統合アプライアンスにデプロイされると、統合アプライアンスは HTTP 要求を待機する HTTP リスナーとして機能します。 HTTP 要求の受信時に、以下のアクションが実行されます。
  1. オーケストレーション・ジョブが開始されます。
  2. HTTP 要求の受信 (HTTP Receive Request)」アクティビティーが、着信 HTTP 要求を処理し、HTTP 要求をアクティビティーの出力パラメーターにマップします。
  3. 出力パラメーターは、指定されたオーケストレーション変数にマップされます。 「チェックリスト」の「出力のマップ」タスクでの設計時に、出力パラメーターとオーケストレーション変数間のマッピングが定義されます。
  4. オーケストレーション内の残りのアクティビティーが処理されます。 (オーケストレーションのグラフィカル表現では、残りのアクティビティーは、「HTTP 要求の受信 (HTTP Receive Request)」アクティビティーの右側にあるアクティビティーです。)
デフォルトでは、「HTTP 要求の受信 (HTTP Receive Request)」アクティビティーの圧縮解除は使用可能に設定されます。 詳しくは、『「HTTP 受信要求」アクティビティーによる圧縮解除』を参照してください。

同じエンドポイント詳細、URL、およびメソッドを用いて、2 つの「HTTP 受信要求」アクティビティーをアプライアンスにデプロイすることはできません。

単一の「HTTP 受信要求」アクティビティーの場合

1 つの URL に対して 1 つの「HTTP 受信要求」アクティビティーのみをデプロイすると、オーケストレーションは、このベース URL で始まる URL のすべての要求を受け入れます。 例えば、/customer をデプロイすると、オーケストレーションは、/customer/customer/21/customer/21/dept などの要求を受け入れます。

パス・パラメーターをともなう URL に対して「HTTP 受信要求」アクティビティーをデプロイすると、オーケストレーションは、パス・パラメーターの値で構成された URL に一致する URL の要求のみ受け入れます。 例えば、/customer/{custid} をデプロイすると、オーケストレーションは、 /customer/10/customer/21/customer/dept などの要求を受け入れます。 /customer/customer/21/dept などの URL は受け入れません。

複数の「HTTP 受信要求」アクティビティーの場合

同じベース URL で構成された 2 つの「HTTP 受信要求」アクティビティーをデプロイし、一方がパス・パラメーターをともなう場合、アクティビティーは、構成された URL に厳密に一致する URL の要求を受け入れます。 例えば、/customer/customer/{path parameter} をデプロイし、/customer が呼び出された場合、要求は /customer で構成されたアクティビティーに渡されます。 /customer/007 が呼び出された場合、要求は /customer/{path parameter} で構成されたアクティビティーに渡されます。 また、/customer/dept/1 または /customer/12/21 という URL が呼び出された場合は、どのアクティビティーもこの要求を受け入れません。

注: 2 つのアクティビティーのうち、最初のアクティビティーを /customer/department としてデプロイし、2 番目のアクティビティーを /customer/{path parameter} としてデプロイする場合、/customer/department が呼び出されると、要求は最初にデプロイされたアクティビティー (/customer/department) に渡されます。 /customer/{path parameter} を最初にデプロイすると、要求は /customer/{path parameter} に渡されます。
注: Web サービスと HTTP に同じ URL をデプロイしないことも推奨されています。
ベース URL - パス・パラメーターの前にある URL の部分。 例えば、/employee/manager/{id} という URL を構成した場合、ベース URL は /employee/manager です。

「HTTP 要求の受信 (HTTP Receive Request)」アクティビティーのオーケストレーションへの追加

  1. オーケストレーションを作成するか、または開きます。 オーケストレーションのグラフィカル表現が表示されます。
  2. アクティビティー」タブを選択し、HTTP フォルダーを展開します。
  3. 要求の受信」アクティビティーをオーケストレーション上にドラッグします。
  4. アクティビティーを選択します。 「チェックリスト」が表示され、「プロパティー」ペインで「要約」タスクがアクティブになります。 「プロパティー」ペインは、ワークスペース内のオーケストレーションのグラフィカル表現の下にあります。

HTTP エンドポイントの作成、選択、または編集

  1. チェックリスト」で「エンドポイントの選出」タスクをクリックして、以下のいずれかのアクションを選択します。
    • 既存のエンドポイントを選択します。
      1. 参照」を選択します。 「プロジェクト・エクスプローラー」が表示されます。
      2. 既存のエンドポイントを選択し、「OK」をクリックします。 『アクティビティーの構成』手順までスキップします。
    • 既存のエンドポイントを選択し、そのエンドポイントを編集します。
      1. 参照」を選択します。 「プロジェクト・エクスプローラー」が表示されます。
      2. 既存のエンドポイントを選択し、「OK」をクリックします。
      3. 編集」をクリックします。 「エンドポイントの編集」ペインが表示されます。
    • 新しいエンドポイントを作成します。「新規作成」を選択します。 「エンドポイントの作成」ペインが表示されます。
  2. HTTP エンドポイントを作成または編集します。『HTTP エンドポイントの作成または編集』を参照してください。

アクティビティーの構成

  1. チェックリスト」から、「構成」タスクを選択します。 「構成」ペインが表示されます。
  2. 次の表で説明しているように、このペイン内のすべてのフィールドとチェック・ボックスを構成します。
    表 1.
    フィールド 説明
    URL (ホスト名の後のパス) 統合アプライアンスがインバウンド HTTP 要求を listen するリソース・パス (例: /mypath) を指定します。 このフィールドに指定するストリングからは、ストリング http://、ホスト名、および統合アプライアンスのポート番号を除外する必要があります。 統合アプライアンスがインバウンド HTTP 要求の listen に使用する完全な URL は、統合アプライアンスのホスト名、HTTP エンドポイントで指定されたポート番号、およびこのフィールドに指定されたパスから、自動的に構成されます。 例えば、統合アプライアンスが HTTP 要求を listen する完全な URL が http://myAR:myPort/myPath である場合、このフィールドには、ストリング /myPath を指定するだけで済みます。 指定するパスは、同じポートを使用して同じ統合アプライアンス上に同時にデプロイされた「HTTP 要求の受信 (HTTP Receive Request)」アクティビティーについて固有である必要があります。

    パス・パラメーターと照会パラメーターを使用するには、URL を url/{path}?name1=value1&name2=value2 という形式で入力します。 これにより、「{path}」パラメーターにストリング値をマップし、照会パラメーター名 (この例では、「name1」および「name2」) を指定できます。複数の「{path}」パラメーターを宣言することを選択する場合、各パラメーターに固有の名前を付けることを推奨します。同じ名前のパラメーターは、マップの 1 つのノードのみによって表されます。パス・パラメーターは、「出力のマップ」の /httpheaders/pathParameters に表示されます。 照会パラメーターは、「出力のマップ」の /httpheaders/queryParameters に表示されます。

    注: URL で照会パラメーターに割り当てた値はマッパーに渡されません。この値は、実際の着信要求に基づいてサーバーから送信されます。
    注: 統合アプライアンスがインバウンド HTTP 要求を listen するパスは、指定されたリソース・パス・ストリングであり、統合アプライアンス上の実際のディレクトリー・パスには対応しません。
    メソッド listen しているサーバーがどの HTTP メソッドを受け入れるのかを指定します。
    タイプ HTTP 要求の予期されたメッセージ・タイプ (「テキスト」または「バイナリー」) を指定します。
    応答が必要 応答を要求の送信者に送信する必要があるかどうかを指定します。
    注: このチェック・ボックスを選択した場合は、オーケストレーションに「HTTP 応答の送信 (HTTP Send Response)」アクティビティーを追加して、構成する必要があります。
    圧縮/圧縮解除の使用 アクティビティー・レベルで圧縮/圧縮解除をオンにするかオフにするかを指定します。 デフォルトでは「圧縮/圧縮解除の使用」チェック・ボックスはクリアされ、このアクティビティーの圧縮/圧縮解除は使用不可に設定されます。 このアクティビティーの圧縮/圧縮解除を使用可能にするには、「圧縮/圧縮解除の使用」チェック・ボックスを選択します。 詳しくは、『「HTTP INVOKE/GET/POST/HEAD/PUT/DELETE 要求」アクティビティーよる圧縮/圧縮解除』を参照してください。

要求ヘッダーの指定

  1. 「チェックリスト」から「要求ヘッダー」タスクを選択します。「要求ヘッダー」ペインが表示されます。「カスタム・ヘッダー」表が上部、「事前定義の標準ヘッダーを含める」チェック・ボックスが中部、「標準ヘッダー」表が下部に表示されます。
  2. 「追加」ボタンをクリックして、「カスタム・ヘッダー」表にヘッダーを追加します。 新しいエントリーをクリックしてヘッダー名を入力するか、ドロップダウン・リストからヘッダー名を選択します。ヘッダー名が事前定義されたヘッダー名である場合は、その説明が「説明」の列に表示されます。そうでない場合は、ヘッダーの説明を自身で入力します。
  3. 事前定義された標準のヘッダーを使用する場合は、「事前定義の標準ヘッダーを含める」チェック・ボックスにチェックを付けます。ヘッダー名の重複 (大文字/小文字の違いは無視されます) は許可されておらず、「カスタム・ヘッダー」表内のすべての重複ヘッダーを削除するよう指示するプロンプトが出される可能性があることに注意してください。 選択した HTTP ヘッダーが、「出力のマップ」の /httpheaders の下に表示されます。

Swagger 情報の指定

  1. 「チェックリスト」から「Swagger」タスクを選択して、サンプル・メッセージを設定します。
  2. 「要求サンプル (JSON) (Request sample (JSON))」「応答サンプル (JSON) (Response sample (JSON))」の情報を指定します。要求サンプルを指定しないと、Swagger 出力には空のサンプル・オブジェクトが表示されます。
  3. 「Swagger の生成 (Generate Swagger)」ボタンをクリックします。そうすると、コードが「Swagger 出力 (Swagger Output)」テキスト・ボックスに表示されます。必要な場合、「Swagger のダウンロード (Download Swagger)」をクリックして、ファイルをダウンロードして共有することもできます。

アクティビティーの出力のマッピング

  1. チェックリスト」から、「出力のマップ」タスクを選択します。 次の表で説明しているように、このアクティビティーの出力パラメーターが、「出力のマップ」タスクの「アクティビティーから」ペインに表示されます。
    表 2.
    出力パラメーター 説明
    httpheaders HTTP 要求のヘッダーを指定します。
    body HTTP 要求メッセージの本文を指定します。
    以下の表は、 オプションの httpheaders 出力パラメーターのノードを 定義したものです。
    表 3.
    httpheaders 出力パラメーターのノード 説明
    httpheaders/uri 着信要求のリソース・パス (例: /myPath) を指定します。
    httpheaders/method HTTP 要求のタイプを指定します。
    httpheaders/host クライアントの IP アドレスまたはホスト名を指定します。
    httpheaders/otherHeaders/headerItem 名前と値のペアとして HTTP ヘッダー・パラメーターのセットが 含まれるエレメントを指定します。 複数の HTTP ヘッダー・パラメーターを HTTP 要求で指定できるため、このノードは繰り返しノードになります。
    httpheaders/<configured_header_name> 「要求ヘッダー」のステップで少なくとも 1 つの要求ヘッダーを構成した場合は、それぞれがここに表示されます。<configured_header_name> は、選択または入力した実際のヘッダー名に置き換わります。
    httpheaders/pathParameters 「構成」ステップの URL でパス・パラメーターを構成した場合は、それぞれがここに表示されます。パス・パラメーターを指定していない場合、このノードは表示されません。
    httpheaders/queryParameters 「構成」ステップの URL で照会パラメーターを構成した場合は、それぞれがここに表示されます。照会パラメーターを指定していない場合、このノードは表示されません。
    httpheaders/otherHeaders/headerItem/name HTTP ヘッダー・パラメーターの名前を指定します。
    httpheaders/otherHeaders/headerItem/value HTTP ヘッダー・パラメーターの値を指定します。
  2. アクティビティーの 1 つ以上の出力パラメーターと 1 つ以上のオーケストレーション変数との間のマップを作成します。 マッピングについての一般的な説明は、『マップの作成』を参照してください。
    注:HTTP 要求の受信 (HTTP Receive Request)」アクティビティーから開始されるオーケストレーションをテストするため、Studio のインストール済み環境に組み込まれている HTTP Post ユーティリティーを使用して、実行時に HTTP 要求を listen 中の統合アプライアンスに送信できます。 HTTP Post ユーティリティーにアクセスするには、「スタート」メニューから「プログラム」 > 「IBM」 > 「Cast Iron Studio」 > 「HTTP Post ユーティリティー」オプションを選択します。 「インバウンド・コネクターの URL」フィールドに指定する URL には、完全な URL (例: http://myAR:myPort/myPath) が含まれている必要があります。