WebSphere Cast Iron(後面簡稱為 Cast Iron)被廣泛用於遍及內部和外部應用程序的集成和遷移。過去,JSON 被普遍用作 REST API 的傳輸類型,因為與 XML 相比,它的格式是輕量級的。
在 Cast Iron 中,您可以創建和公開一個基於 JSON 的 API,這是一個以 JSON 格式接受請求並發送響應的整合流程。Cast Iron 使用了 XML 和XML 模式。Cast Iron 引入了兩個用來處理 JSON 數據的新活動:Read JSON 和 Write JSON。這些活動在整合流程的創建過程中非常有用,該整合流程代表 Cast Iron 中基於 JSON 的 API。本文將介紹如何創建一個作為 API 公開的整合流程,此 API 可接收和發出 JSON 數據。
在此場景中,您將學習如何公開一個 REST API,它通過使用 Read JSON 和 Write JSON 活動接收帶有兩個數字的請求,並在 JSON 消息中發送輸入數字的總和作為響應。樣例請求和響應 JSON 消息如表 1 所示。
您必須構建整合流程來完成上述場景。該整合流程充當了一個基於 JSON 的 REST API,以便將兩個數字添加到外部世界,如圖 1 所示。
Receive Input Numbers(Receive 請求)接收包含兩個需要添加的數字的 JSON 請求。表 2 展示了完成 Receive Input Numbers 活動的檢查清單的步驟。
Convert to XML 活動 (Read JSON) 將 JSON 格式數據轉換成 XML:
通過完成下列步驟來配置 Read JSON。您必須使用 JSON 消息來配置 JSON 活動。從 Configure 窗口中選擇 Use JSON or XML Message 選項作為消息類型,如圖 2 所示。
查看本欄目
將請求 JSON 消息復制到文本區,如表 1 所示,然後單擊 Generate Output Map。這會生成 Read JSON 輸出參數,可在 Map Outputs 窗口查看這些參數,如圖 3 所示。在圖 3 中,對於給定的請求 JSON 消息,已經生成了各自的 XML 模式並根據 Map Output 進行填充,這使得數據(將要添加的)的映射和處理變得非常容易。
從 Checklist 面板中選擇 Map Inputs。單擊 Select Inputs 按鈕,然後選擇 body 作為輸入變量,如圖 4 所示。單擊 Ok。
在選擇輸入變量之後,將輸入變量映射到 jsonText,如圖 5 所示。
從 Checklist 中選擇 Map Outputs。單擊 Copy,然後選擇映射輸出參數,以便根據該活動的輸出參數創建一個新變量。將創建的變量重命名為 Numbers,如圖 6 所示。在圖 7 的右上面板中,Numbers 以藍色高亮顯示。
圖 7 顯示執行必要映射後的 Outputs 窗口。
查看本欄目
使用映射變量添加數字和映射:
將 Map Variable 活動從 Transforms 拖放到工作流面板中。單擊 Select Inputs 來選擇變量 Numbers,該變量已在 Convert to XML Map Outputs (Read JSON) 中創建。現在,我們擁有了要添加的值。
創建類型為 “Decimal” 的變量結果。需要使用這個變量來保存 Add 函數的結果。
拖放 Add 函數。將 Number1 和 Number2 映射到 Add 函數,然後將 Add 函數的結果映射到 result 變量(參見圖 8),該變量是在步驟 b 中創建的。
現在,添加和配置 JSON 活動 (Write JSON):
通過完成下列步驟配置 Write JSON 活動。當使用 JSON 消息來配置 JSON 活動時,從 Configure 窗口中選擇 Use JSON or XML Message 選項作為消息類型。將 JSON 或 XML 消息復制到文本區並單擊 Generate Map,如圖 9 所示。此時將會生成 Write JSON 輸入參數,可在 Map Input 區域查看該參數,如圖 10 所示。
在 Checklist 窗格中單擊 Map Inputs,然後單擊 Select Inputs 按鈕選擇輸入變量 result。將 result 映射到 Result XML 變量,如圖 10 所示。
單擊 Map Outputs 並復制 JSON 文本創建一個新變量 resultInJsonFormat,如圖 11 所示。您可以將結果發送回來,或者可以使用 “resultInJsonFormat” 配置下一個活動。
Send Result 活動 (HTTP Send Reply) 以 JSON 格式發送結果摘要。表 3 中的檢查清單表明您應該將 resultInJsonFormat 映射到主體。
查看本欄目
要測試 API,請完成下列步驟:
單擊 Project 選項卡,右鍵單擊 Orchestration name,然後單擊 Start Orchestration,如圖 12 所示。
單擊 Tools 菜單並選擇 HTTP Post Utility 來調用 API。HTTP Post 窗口將會出現。將您的請求 JSON 消息(如 表 1 所示)粘貼到文本框 Post a message 中。在 HTTP Receive Request Activity 中輸入配置的 URL,然後選擇方法 POST。單擊 Submit 按鈕發布請求,如圖 13 所示。
等待服務器響應。當您獲得該響應時,可以在 HTTP Post Utility 響應中看到輸出,如圖 13 所示。
在本系列第 3 部分中,您學習了如何使用 Read JSON 和 Write JSON 活動創建自定義的基於 JSON 的 API,並最終通過在 Appliance 或 Cast Iron Live 上部署它們向外部世界公開它們。您還按照 本系列文章 中的使用說明,學習了如何使用 XML 模式或樣例 JSON 消息來配置 Read JSON 和 Write JSON 活動。