Mengimpor metadata OData SAP sebagai API

Artikel ini menunjukkan cara mengimpor layanan OData dengan menggunakan deskripsi metadatanya. Dalam artikel ini, Gateway SAP berfungsi sebagai contoh. Namun, Anda dapat menerapkan pendekatan ke layanan yang mematuhi OData apa pun.

Dalam artikel ini, Anda akan:

  • Mengonversi metadata OData ke spesifikasi OpenAPI
  • Mengimpor spesifikasi OpenAPI ke API Management
  • Menyelesaikan konfigurasi API
  • Menguji API di portal Microsoft Azure

Prasyarat

  • Instans API Management yang ada. Buat jika Anda belum melakukannya.

  • Sistem dan layanan SAP yang diekspos sebagai OData v2 atau v4.

  • Jika backend SAP Anda menggunakan sertifikat yang ditandatangani sendiri (untuk tujuan pengujian), Anda mungkin perlu menonaktifkan verifikasi rantai kepercayaan SSL. Untuk melakukan tindakan tersebut, konfigurasikan backend di instans API Management Anda:

    1. Di portal Azure, di bagian API, pilih Backends>+ Tambahkan.
    2. Tambahkan URL Kustom yang menunjuk ke layanan backend SAP.
    3. Batalkan pemilihan pengaturan Validasi rantai sertifikat dan Validasi nama sertifikat.

    Catatan

    Untuk skenario produksi, gunakan sertifikat yang tepat untuk verifikasi SSL ujung-ke-ujung.

Mengonversi metadata OData ke JSON OpenAPI

  1. Ambil XML metadata dari layanan SAP Anda. Gunakan salah satu metode ini:

    • Gunakan Klien Gateway SAP (transaksi /IWFND/GW_CLIENT), atau
    • Lakukan panggilan HTTP langsung untuk mengambil XML: http://<OData server URL>:<port>/<path>/$metadata.
  2. Konversikan XML OData ke format JSON OpenAPI. Gunakan alat sumber terbuka OASIS untuk OData v2 atau OData v4, bergantung pada XML metadata Anda.

    Berikut ini adalah contoh perintah untuk mengonversi XML OData v2 untuk layanan pengujian epm_ref_apps_prod_man_srv:

    odata-openapi -p --basePath '/sap/opu/odata/sap/epm_ref_apps_prod_man_srv' \
     --scheme https --host <your IP address>:<your SSL port> \
     ./epm_ref_apps_prod_man_srv.xml
    

    Catatan

    • Untuk tujuan pengujian dengan satu file XML, gunakan pengonversi berbasis web yang didasarkan pada alat sumber terbuka.
    • Dengan alat atau pengonversi berbasis web, menentukan <alamat IP>:<port> server OData sap Anda bersifat opsional. Atau, tambahkan informasi ini nanti dalam spesifikasi OpenAPI yang telah Anda buat atau setelah mengimpor ke API Management.
  3. Simpan file openapi-spec.json secara lokal untuk diimpor ke API Management.

Membuka instans API Management Anda

  1. Di portal Azure, cari dan pilih Layanan API Management.

    Select API Management services

  2. Di halaman layanan API Management, pilih instans API Management Anda.

    Select your API Management instance

Mengimpor dan menerbitkan API backend

  1. Dari menu navigasi samping, di bagian API, pilih API.

  2. Di bagian Buat definisi baru, pilih spesifikasi OpenAPI.

    OpenAPI specifiction

  3. Klik Pilih file, dan pilih file openapi-spec.json yang telah Anda simpan secara lokal di langkah sebelumnya.

  4. Masukkan pengaturan API. Anda dapat mengatur nilai selama pembuatan atau mengonfigurasikannya nanti dengan masuk ke tab Pengaturan.

  5. Pilih Buat.

Catatan

Batasan impor API didokumentasikan di artikel lain.

Menyelesaikan konfigurasi API

Tambahkan tiga operasi berikut ke API yang telah Anda impor.

  • GET /$metadata

    Operasi Deskripsi Konfigurasi untuk operasi lebih lanjut
    GET /$metadata Memungkinkan agar API Management dapat mencapai titik akhir $metadata yang diperlukan untuk integrasi klien dengan server OData.

    Operasi yang diperlukan ini tidak disertakan dalam spesifikasi OpenAPI yang telah Anda buat dan impor.
    Tambahkan respons 200 OK.

    Get metadata operation

  • HEAD /

    Operasi Deskripsi Konfigurasi untuk operasi lebih lanjut
    HEAD / Memungkinkan agar klien dapat bertukar token Cross Site Request Forgery (CSRF) dengan server SAPsaat diperlukan.

    SAP juga memungkinkan agar pertukaran token CSRF menggunakan kata kerja GET.

    Pembahasan mengenai pertukaran token CSRF ada dalam artikel ini. Lihat contoh cuplikan kebijakan API Management ke pertukaran token broker.
    T/A

    Operation to fetch tokens

  • GET /

    Operasi Deskripsi Konfigurasi untuk operasi lebih lanjut
    GET / Mengaktifkan konfigurasi kebijakan di akar layanan. Konfigurasikan kebijakan penulisan ulang-uri masuk berikut untuk menambahkan garis miring berikutnya ke permintaan yang diteruskan ke akar layanan:

    <rewrite-uri template="/" copy-unmatched-params="true" />

    Kebijakan ini menghapus potensi ambiguitas permintaan dengan atau tanpa garis miring berikutnya yang diperlakukan secara berbeda oleh beberapa backend.

    Get operation for service root

Selain itu, konfigurasikan autentikasi ke backend Anda dengan menggunakan metode yang sesuai untuk lingkungan Anda. Untuk mempelajari lebih lanjut, lihat Kebijakan autentikasi API Management.

Uji API Anda

  1. Navigasi ke instans API Management Anda.

  2. Dari menu navigasi samping, di bagian API, pilih API.

  3. Di bagian Semua API, pilih API yang telah Anda impor.

  4. Pilih tab Uji untuk mengakses konsol Uji.

  5. Pilih operasi, masukkan nilai yang diperlukan, dan pilih Kirim.

    Misalnya, uji panggilan GET /$metadata untuk memastikan konektivitas ke backend SAP

  6. Tampilkan responsnya. Untuk memecahkan masalah, lacak panggilan.

  7. Ketika pengujian selesai, keluar dari konsol pengujian.

Pertimbangan produksi

Langkah berikutnya