將 SAP OData 中繼資料匯入為 API

適用於:所有 API 管理層級

本文說明如何利用 OData 元資料將 OData(Open Data Protocol)服務匯入 Azure API 管理。 以下範例使用 SAP Gateway Foundation

在本文中,您將學會如何:

  • 從 SAP 服務擷取 OData 中繼資料
  • 將 OData 元資料匯入 Azure API 管理,可以直接匯入,或者先轉換成 OpenAPI 規範後再匯入。
  • 完成 API 設定
  • 測試 Azure portal 中的 API

必要條件

  • 建立 一個 API 管理實例

  • 以 OData v2 或 v4 公開的 SAP 系統和服務。

  • 如果您的 SAP 後端使用自我簽署憑證(用於測試),您可能需要停用 SSL 信任鏈結的驗證。 作法是在 API 管理執行個體中設定後端

    1. 在 Azure 入口網站的 API 下,選擇 Backends>+ 建立新後端
    2. 新增指向 SAP 後端服務的 自訂 URL
    3. 展開 進階 區塊,然後清除 驗證憑證鏈驗證憑證名稱 的勾選框。

    附註

    在生產案例中,使用適當的憑證進行端對端SSL驗證。

    提示

    若要完整使用 API 管理的功能範圍,請在註冊前將 SAP OData API 轉換為 OpenAPI 規範。

從 SAP 服務擷取 OData 中繼資料

使用下列其中一種方法,從 SAP 服務擷取元數據 XML。 如果您打算將中繼資料 XML 轉換成 OpenAPI 規格,請在本機儲存檔案。

  • 使用 SAP 閘道用戶端 (交易 /IWFND/GW_CLIENT)。
  • 進行直接 HTTP 呼叫以擷取 XML: http://<OData server URL>:<port>/<path>/$metadata
  • 如適用,請使用 SAP Business Accelerator Hub

移至您的 API 管理執行個體

  1. Azure 入口網站中,搜尋並選擇 API 管理服務

    螢幕擷取畫面,顯示搜尋結果中的 API 管理 服務。

  2. 在 [ API 管理服務 ] 頁面上,選取您的 API 管理實例:

    螢幕擷取畫面,顯示 [API 管理 服務] 頁面上的 API 管理 實例。

將 API 匯入至 API 管理

選擇下列其中一種方法,將您的 API 匯入至 API 管理:

  • 將中繼資料 XML 轉換為 OpenAPI 規範(建議)。
  • 直接將元數據 XML 匯入為 OData API。

將 OData 中繼資料轉換為 OpenAPI JSON

  1. 使用建立在 OASIS 開源工具上的 Microsoft 轉換器

    下列範例會轉換測試服務 epm_ref_apps_prod_man_srv 的 OData v2 XML:

    oasis-converter convert epm_ref_apps_prod_man_srv.xml api.json
    

    附註

    若要用單一 XML 檔案測試,可以使用 網頁版的體驗

  2. openapi-spec.json 檔案儲存在本地,匯入 API 管理。

匯入 OpenAPI 規格

  1. 在側邊欄選單的 API 區,選擇 API。

  2. 從定義中建立,選擇 OpenAPI 區塊:

    顯示 OpenAPI 圖格的螢幕快照。

  3. 選擇 「選擇檔案」,然後選擇你在前一步本地儲存的 openapi-spec.json 檔案。

  4. 輸入 API 設定。 您可以在匯入 API 時設定這些值,或稍後移至 [設定] 索引標籤進行設定。

    • 針對 API URL 後綴,我們建議使用與原始 SAP 服務相同的 URL 路徑。

    • 如需 API 設定的詳細資訊,請參閱匯入和發佈您的第一個 API 教學課程。

  5. 選取 ,創建

您也需要針對環境使用適當的方法來設定後端的驗證。 範例請參見 認證與授權

附註

如需 API 匯入限制的相關信息,請參閱 API 匯入限制和已知問題

測試您的 API

  1. 瀏覽至 API 管理執行個體。

  2. 在側邊欄選單中,選擇 API>API

  3. 在 [所有 API] 下,選取您匯入的 API。

  4. 選取 [測試] 索引標籤以存取測試主控台。

  5. 選取作業、輸入任何必要值,然後選取 [ 傳送]。

    例如,測試 GET /$metadata 呼叫以確認 SAP 後端的連線能力。

  6. 檢視回應。 若要進行疑難排解,請追蹤呼叫。

  7. 當您完成測試時,請結束測試控制台。

生產考量