共用方式為


步驟 2:設定雙向 WCF-WebHttp 傳送埠

在此步驟中,您會設定雙向 WCF-WebHttp 傳送埠來叫用 REST 資源 URL,以擷取美國航空公司的排程延遲。

設定 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 以擷取航班延誤。

      這很重要

      在 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 之後,輸入您從 [我的帳戶] 索引卷標擷取的使用者名稱和密碼。

        認證會根據 客戶識別碼 (用戶名稱)和 主要帳戶密鑰 (密碼)標籤列出。

      6. 請選擇 [確定]

    5. 在 [訊息] 索引標籤中,於 [抑制動詞的主體] 設定中,指定您想從要求訊息中去除訊息內容的動詞。 在本教學課程中,將此指定為 GET。 原因如下:美國航空公司航班延誤 REST 端點上的 GET 方法呼叫不需要訊息承載;REST 資源 URL 足以擷取資訊。 不過,若要觸發進行 REST 呼叫的 WCF-WebHttp 傳送埠,您需要放入一個包含內容的虛擬訊息。 傳送埠不得將該虛擬訊息傳送至 REST 端點,因為如先前所述,端點不會預期訊息承載。 因此,在呼叫 REST 端點之前,配接器只會針對您在 隱藏本文的動詞 文本框中指定的動詞,從虛擬訊息中去除訊息承載。

    6. 按兩下 [確定 ],直到您回到 [傳送埠內容] 對話框為止。 從左窗格中,按兩下 [ 篩選],並指定篩選條件,以取用透過您在 步驟 1:設定 FILE 接收位置中所建立之接收埠所接收的所有訊息。

      參數 價值觀
      財產 設定為 BTS。ReceivePortName
      運算子 設定為 ==
      價值 設定為 ReceivePortRestAzureMarketPlace
    7. 按一下 [確定]

另請參閱

教學課程 5:使用 BizTalk Server 叫用 REST 介面