[筆記][Biztalk]如何POST JSON格式的資料至 RESTful API

除了使用GET,我們還會使用POST的方式叫用RESTful API。POSTGET最大的差異是,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