步驟 2:設定雙向 WCF-WebHttp 傳送埠
在此步驟中,您會設定雙向 WCF-WebHttp 傳送埠,以叫用 REST 資源 URL,以擷取美國飛機航班排程中的延遲。
若要設定 WCF-WebHttp 傳送埠
從 BizTalk Server 管理主控台的BizTalk 應用程式 1節點底下,以滑鼠右鍵按一下 [傳送埠],指向 [新增],然後按一下 [靜態] Solicit-Response [傳送埠]。
在 [一般] 索引標籤上,執行下列動作:
使用 作法 名稱 輸入 SendPortRESTAzureMarketPlace。 類型 選取 [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之後,輸入您從 [我的帳戶] 索引標籤擷取的使用者名稱和密碼。
認證會根據 客戶 識別碼 (使用者名稱) 和 主要帳戶金鑰 (密碼) 標籤列出。
選取 [確定]。
在 [ 訊息] 索引標籤的 [ 隱藏動詞本文] 中,指定您要從要求訊息中移除訊息承載的動詞。 在本教學課程中,將此指定為
GET
。 原因如下:美國貨運公司航班延誤 REST 端點上的 GET 方法呼叫不需要訊息承載;REST 資源 URL 足以擷取資訊。 不過,若要觸發 WCF-WebHttp 傳送埠來呼叫 REST,您可以卸載含有一些訊息本文的虛擬訊息。 傳送埠不得將該虛擬訊息傳送至 REST 端點,因為如先前所述,端點不會預期訊息承載。 因此,在叫用 REST 端點之前,配接器只會針對您在 [ 隱藏動詞 本文] 文字方塊中指定的動詞,從虛擬訊息中移除訊息承載。按一下 [確定 ],直到您回到 [傳送埠內容] 對話方塊為止。 在左窗格中,按一下 [ 篩選],並指定篩選準則,以取用透過您在 步驟 1:設定檔案接收位置中所建立之接收埠所接收的所有訊息。
參數 值 屬性 設定為 BTS。ReceivePortName 運算子 設定為 == 值 設定為 ReceivePortRestAzureMarketPlace
按一下 [確定] 。