除了使用GET,我們還會使用POST的方式叫用RESTful API。POST與GET最大的差異是,POST除了需要設定叫用的URL之外,還需要傳遞物件給RESTful API,與GET相比,就是多了一道工。
工作上的RESTful API在使用POST的method時,最常用的就是透過JSON格式傳資料。所以,在使用Biztalk呼叫RESTful API時,就需要想辦法將資料轉換成JSON格式,以進行API呼叫。需要注意及設定的,就是以下這兩項:
1.建立JSON Schema
在Biztalk中,所有的Message都需要有對應的Schema,JSON格式的資料也不例外,需要建立一個對應的JSON Schema。透過JSON Schema Wizard就可以達到這個目的。
JSON Schema Wizard可以選取現有的json檔案,透過它自動產生對應的Schema。
多層的結構也可以產的出來。
2.建立Send Pipeline以處理JSON Message的產生
除了設定Schema之外,還需要處理Orchestration中的Message轉換成JSON。這時,就需要透過Send Pipeline了。
拉一個JSON encoder
元件到Encode區塊。
另外,還需要設定Remove Outer Envelope屬性為True
。以免將Root Node包進JSON中。
接下來,把Biztalk專案Build完之後,就可以Deploy至Biztalk Server了。
設定Send Port
Deploy至Biztalk之後,還需要設定Send Port以實際的將Message送出至API端。
在Send Port的設定中,除了設定Transport Type為WCF-WebHttp之外,還要將Send pipeline設定為我們上一步為了產生JSON格式所建立的Send Pipeline物件。
按下WCF-WebHttp旁的Configure...按鈕後,在General頁籤中設定URL及HTTP Method。
另外,由於我們傳出去的Message格式是JSON,所以需要在Messages頁籤HTTP Header中設定Content-Type: application/json
。