手順 2:双方向の WCF-WebHttp 送信ポートを構成する
この手順では、米国の航空会社のスケジュールの遅延を取得するために REST リソース URL を呼び出すように、双方向の WCF-WebHttp 送信ポートを構成します。
WCF-WebHttp 送信ポートを構成するには
BizTalk Server管理コンソールの BizTalk アプリケーション 1 ノードで、[送信ポート] を右クリックし、[新規] をポイントして、[静的 Solicit-Response 送信ポート] をクリックします。
[全般] タブで、次の操作を行います。
プロパティ 目的 名前 「 SendPortRESTAzureMarketPlace」と入力します。 Type [ WCF-WebHttp] を選択します。 送信ハンドラー [ BizTalkServerApplication] を選択します。 [送信パイプライン] [ PassThruTransmit] を選択します。 [受信パイプライン] [ PassThruReceive] を選択します。 [構成] をクリックします。
[ WCF-WebHttp トランスポートのプロパティ ] ダイアログ ボックスで、次の操作を行います。
[ 全般 ] タブの [ アドレス (URI)] に「」と入力します
https://api.datamarket.azure.com/oakleaf/US_Air_Carrier_Flight_Delays_Incr/
。[全般] タブの [ HTTP メソッドと URL マッピング] に、次のように入力します。
<BtsHttpUrlMapping> <Operation Method="GET" Url="/On_Time_Performance" /> </BtsHttpUrlMapping>
ここでは、 GET は HTTP 動詞であり、 On_Time_Performance がベース URI に追加され、フライト遅延を取得するための一意のリソース URL が作成されます。
ヒント
URL フィールド内では、任意の特殊な XML 文字を "エスケープ" する必要があります。 これにより、特殊な XML 文字が確実に処理され、ポートによって保持されます。 たとえば、特殊文字は
&
として&
エスケープする必要があります。変更前:
Url=”/Customer?{ID}& group=Location”
宛先:
Url=”/Customer?{ID}&group=Location”
[バインド] タブ の [ 受信メッセージの最大サイズ ] フィールドで、十分に大きい値を選択します。 通常、フライトの状況が含まれている応答メッセージはサイズがかなり大きく、指定された既定のメッセージ サイズを超える可能性があるためです。
[セキュリティ] タブで、次の操作を行います。
[セキュリティ モード] で、[トランスポート] を選択します。
[ トランスポート クライアント資格情報の種類] で、[ 基本] を選択します。
[ ユーザー名の資格情報 ] ボックスで、[ 編集] を選択します。
[ クライアント資格情報 ] ボックスで、[ Single-Sign を使用しない] を選択します。
Microsoft Azure Marketplaceにサインインした後、[マイ アカウント] タブから取得したユーザー名とパスワードを入力します。
資格情報は、 顧客 ID (ユーザー名) ラベルと プライマリ アカウント キー (パスワード) ラベルに対して一覧表示されます。
[OK] を選択します。
[ メッセージ ] タブの [ 動詞の本文の抑制] で、要求メッセージからメッセージ ペイロードを削除する動詞を指定します。 このチュートリアルでは、これを として
GET
指定します。 理由は次のとおりです。米国航空運送会社のフライト遅延 REST エンドポイントでの GET メソッド呼び出しでは、メッセージ ペイロードは必要ありません。REST リソース URL は、情報を取得するのに十分です。 ただし、REST 呼び出しを行う WCF-WebHttp 送信ポートをトリガーするには、メッセージ本文のあるダミー メッセージを削除します。 前に説明したように、REST エンドポイントはメッセージのペイロードを想定していないので、送信ポートから REST エンドポイントにダミー メッセージを送信できません。 そのため、REST エンドポイントを呼び出す前に、アダプターは[ 動詞の本文を抑制 する] テキスト ボックスで指定した動詞に対してのみ、ダミー メッセージからメッセージ ペイロードを取り除きます。[送信ポートのプロパティ] ダイアログ ボックスに戻るまで [ OK] をクリックします 。 左側のウィンドウで [ フィルター] をクリックし、「 手順 1: FILE 受信場所を構成する」で作成した受信ポートを介して受信したすべてのメッセージを使用するフィルターを指定します。
パラメーター 値 プロパティ BTS に設定します 。ReceivePortName [オペレーター] == Value ReceivePortRestAzureMarketPlace
[OK] をクリックします。