次の方法で共有


手順 2: 双方向 WCF-WebHttp 送信ポートを構成する

この手順では、米国航空会社のスケジュールの遅延を取得するために REST リソース URL を呼び出す双方向 WCF-WebHttp 送信ポートを構成します。

WCF-WebHttp 送信ポートを構成するには

  1. BizTalk Server 管理コンソールの BizTalk アプリケーション 1 ノードで、[ 送信ポート] を右クリックし、[ 新規] をポイントして、[ 静的 Solicit-Response 送信ポート] をクリックします。

  2. 全般 タブで、次の手順を実行します:

    これを使用する 目的
    名前 「SendPortRESTAzureMarketPlace」と入力します。
    タイプ [WCF-WebHttp] を選択します。
    送信ハンドラー BizTalkServerApplication を選択します
    送信パイプライン PassThruTransmit を選択します
    受信パイプライン PassThruReceive を選択します。

    [構成] をクリックします。

  3. [ トランスポートのプロパティのWCF-WebHttp ] ダイアログ ボックスで、次の操作を行います。

    1. [ 全般 ] タブの [ アドレス (URI)] に「 https://api.datamarket.azure.com/oakleaf/US_Air_Carrier_Flight_Delays_Incr/」と入力します。

    2. [全般] タブの [ HTTP メソッドと URL マッピング] に、次のように入力します。

      <BtsHttpUrlMapping>
      <Operation Method="GET" Url="/On_Time_Performance" />
      </BtsHttpUrlMapping>
      
      

      ここでは、 GET は HTTP 動詞であり、 On_Time_Performance がベース URI に追加され、フライト遅延を取得する一意のリソース URL が作成されます。

      Von Bedeutung

      URL フィールド内では、特殊な XML 文字を "エスケープ" して、ポートが特殊文字を処理して保持していることを確認する必要があります。 たとえば、 & 特殊文字を &amp;としてエスケープする必要があります。

      次のテキストの場合: Url="/Customer?{ID}&group={Location}"

      代わりに次のバージョンを使用してください。 Url="/Customer?{ID}&amp;group={Location}"

      REST サービスでも、実行時に使用される URL 内の特殊文字をエスケープする必要がある場合は、二重エスケープを使用する必要があります。

      次のテキストの場合: Url="/Customer?{ID}&amp;group={Location}"

      代わりに次のバージョンを使用してください。 Url="/Customer?{ID}&amp;amp;group={Location}"

    3. [バインド] タブ [ 受信メッセージの最大サイズ ] フィールドで、十分に大きい値を選択します。 これは、通常、フライトの状態を含む応答メッセージが大幅に大きく、指定された既定のメッセージ サイズを超える可能性があるためです。

    4. [セキュリティ] タブで、次の操作を行います。

      1. セキュリティ モードでは、[トランスポート] を選択します。

      2. トランスポート クライアントの資格情報の種類として、[基本] を選択します。

      3. [ ユーザー名の資格情報 ] ボックスで、[ 編集] を選択します。

      4. クライアント資格情報 ボックスで、[Single-Sign On を使用しない] を選択します。

      5. Microsoft Azure Marketplace にサインインした後、[マイ アカウント] タブから取得したユーザー名とパスワードを入力します。

        資格情報は、 顧客 ID (ユーザー名) ラベルと プライマリ アカウント キー (パスワード) ラベルに対して一覧表示されます。

      6. [OK] を選択.

    5. [ メッセージ ] タブの [ 動詞の本文を抑制する] で、要求メッセージからメッセージ ペイロードを削除する動詞を指定します。 このチュートリアルでは、これを GETとして指定します。 理由は次のとおりです。米国空母フライト遅延 REST エンドポイントの GET メソッド呼び出しでは、メッセージ ペイロードは必要ありません。情報を取得するには、REST リソース URL で十分です。 ただし、REST 呼び出しを行う WCF-WebHttp 送信ポートをトリガーするには、メッセージ本文があるダミー メッセージを削除します。 前に説明したように、エンドポイントはメッセージ ペイロードを想定していないため、送信ポートはそのダミー メッセージを REST エンドポイントに送信しないでください。 そのため、REST エンドポイントを呼び出す前に、アダプターは[ 動詞の本文の抑制 ] テキスト ボックスで指定した動詞に対してのみ、ダミー メッセージからメッセージ ペイロードを取り除きます。

    6. [送信ポートのプロパティ] ダイアログ ボックスに戻るまで [ OK] を クリックします。 左側のウィンドウで [ フィルター] をクリックし、「 手順 1: FILE 受信場所を構成する」で作成した受信ポートを介して受信したすべてのメッセージを使用するフィルターを指定します。

      パラメーター 価値
      財産 BTS.ReceivePortName に設定します。
      [オペレーター] == に設定
      価値 ReceivePortRestAzureMarketPlace に設定
    7. OK をクリックします。

こちらもご覧ください

チュートリアル 5: BizTalk Server を使用した REST インターフェイスの呼び出し