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:
- Di portal Azure, di bagian API, pilih Backends>+ Tambahkan.
- Tambahkan URL Kustom yang menunjuk ke layanan backend SAP.
- 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
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.
- Gunakan Klien Gateway SAP (transaksi
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.xmlCatatan
- 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.
Simpan file
openapi-spec.jsonsecara lokal untuk diimpor ke API Management.
Membuka instans API Management Anda
Di portal Azure, cari dan pilih Layanan API Management.
Di halaman layanan API Management, pilih instans API Management Anda.
Mengimpor dan menerbitkan API backend
Dari menu navigasi samping, di bagian API, pilih API.
Di bagian Buat definisi baru, pilih spesifikasi OpenAPI.
Klik Pilih file, dan pilih file
openapi-spec.jsonyang telah Anda simpan secara lokal di langkah sebelumnya.Masukkan pengaturan API. Anda dapat mengatur nilai selama pembuatan atau mengonfigurasikannya nanti dengan masuk ke tab Pengaturan.
Dalam akhiran URL API, sebaiknya gunakan jalur URL yang sama seperti di layanan SAP asli.
Untuk informasi selengkapnya tentang pengaturan API, lihat tutorial Mengimpor dan menerbitkan API pertama Anda.
Pilih Buat.
Catatan
Batasan impor API didokumentasikan di artikel lain.
Menyelesaikan konfigurasi API
Tambahkan tiga operasi berikut ke API yang telah Anda impor.
GET /$metadataOperasi Deskripsi Konfigurasi untuk operasi lebih lanjut GET /$metadataMemungkinkan agar API Management dapat mencapai titik akhir $metadatayang 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.
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
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.
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
Navigasi ke instans API Management Anda.
Dari menu navigasi samping, di bagian API, pilih API.
Di bagian Semua API, pilih API yang telah Anda impor.
Pilih tab Uji untuk mengakses konsol Uji.
Pilih operasi, masukkan nilai yang diperlukan, dan pilih Kirim.
Misalnya, uji panggilan
GET /$metadatauntuk memastikan konektivitas ke backend SAPTampilkan responsnya. Untuk memecahkan masalah, lacak panggilan.
Ketika pengujian selesai, keluar dari konsol pengujian.
Pertimbangan produksi
- Lihat contoh skenario ujung-ke-ujung untuk mengintegrasikan API Management dengan gateway SAP.
- Kontrol akses ke backend SAP menggunakan kebijakan API Management. Lihat cuplikan kebijakan propagasi prinsipal SAP dan mengambil token X-CSRF.
- Untuk panduan guna menyebarkan, mengelola, dan memigrasikan API sesuai porsinya, lihat:
Topik terkait
- Batasan impor API
- Mengimpor spesifikasi OpenAPI
- Mengimpor API SOAP
- Mengimpor SOAP API dan mengonversinya ke REST
- Impor API App Service
- Impor API Aplikasi Kontainer
- Mengimpor API WebSocket
- Mengimpor API GraphQL
- Mengimpor skema GraphQL dan menyiapkan resolver bidang
- Impor Aplikasi Fungsi Azure
- Impor Azure Logic App
- Impor layanan Service Fabric
- Mengimpor metadata SAP OData
- Edit API