Genel Bakış
Amacı Nedir?
- Gelen SOAP veya REST tabanlı XML isteklerinin yapısal bütünlüğünü sağlamak, backend servislerine hatalı veri ulaşmasını önlemek.
API Proxy (API Vekil Sunucusu)seviyesinde WSDL veya XSD şemalarıyla uyumluluk zorunluluğu getirerek entegrasyon kalite standartlarını yükseltmek.- Koşul bazlı tetikleme ile yalnızca belirli endpoint veya header kombinasyonlarında XML şema doğrulaması yaparak esnek politika yönetimi sunmak.
- Özel hata mesajları sayesinde istemci tarafının hatalı şemayı hızlıca düzeltmesini desteklemek.
Çalışma Prensibi
- İstek Gelişi: API Gateway’e gelen her HTTP/HTTPS isteği için, istemin kaynak IP adresi tespit edilir.
- Politika Kontrolü: XML Şema Doğrulama politikası aktif ise, sistem aşağıdaki sırayla kontrol yapar:
- Condition (koşul) tanımlı mı? Varsa koşul sağlanıyor mu?
- Politika aktif mi (active=true)?
- Variable kullanılıyor mu yoksa Apinizer default mı?
- XML Şema Değerlendirmesi:
validateAgainstSpec=trueise ilgili API Proxy’nin WSDL tanımlarından şema çekilir; aksi durumda girilenschemaDefinitionListXSD içerikleri vepathForBodyXPath çıktısı kullanılarak XML parser doğrulaması yapılır. - Karar Verme:
- Eşleşme Var: İstek şemaya uygunsa işlem zinciri devam eder, backend hedefe yönlendirme yapılır.
- Eşleşme Yok: XML yapısı şemaya uymuyorsa politika isteği durdurur ve özelleştirilebilir hata çıktılarını döndürür.
- Hata İşleme: Politika kuralına uymayan istekler için özelleştirilebilir HTTP durum kodu ve hata mesajı döndürülür.
Özellikler ve Yetenekler
Temel Özellikler
- XPath Tabanlı Gövde Seçimi:
pathForBodyalanı sayesinde SOAP Body içinden doğrulanacak düğüm seçilir; boş bırakılırsa tüm gövde incelenir. - Çoklu XSD Yönetimi:
schemaDefinitionListile birden çok şema segmenti eklenebilir, her birischemaNoile sıralanır vesystemIdile ayırt edilir. - İsim Çakışması Önleme: Politika adı kaydedilmeden önce proje içinde benzersizlik kontrolünden geçer, kullanıcıya anlık geri bildirim sağlar.
- Aktif/Pasif Durum Kontrolü: Politikanın aktif veya pasif durumunu kolayca değiştirme (active/passive toggle). Pasif durumda politika uygulanmaz ancak yapılandırması saklanır.
- Koşul Bazlı Uygulama: Query Builder ile karmaşık koşullar oluşturarak politikanın ne zaman uygulanacağını belirleme (örn: sadece belirli endpoint’lere veya header değerlerine göre).
İleri Düzey Özellikler
- WSDL Entegrasyonu:
validateAgainstSpecseçildiğinde, WSDL’den türetilen XML tipleri otomatik kullanılır ve harici XSD girişi gerektirmez. - XPath Test Çalıştırıcısı: “Test Data Transformation” bileşeni XPath ifadesinin hedef düğümü doğru seçip seçmediğini anlık olarak doğrular.
- Şema Versiyonlama Stratejileri: Aynı politika içinde farklı
schemaDefinitionListöğeleri tutularak kademeli geçiş veya geri dönüş planlanabilir. - Export/Import Özelliği: Politika yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Development, Test, Production) import etme. Versiyon kontrolü ve yedekleme imkanı.
- Policy Group ve Proxy Group Desteği: Birden fazla politikayı Policy Group içinde yönetme. Proxy Group’lara toplu politika atama. Merkezi güncelleme ve deploy işlemleri.
- Deploy ve Versiyonlama: Politika değişikliklerini canlı ortama deploy etme. Hangi API Proxy’lerde kullanıldığını görme (Policy Usage). Proxy Group ve Policy Group kullanım raporları.
Kullanım Senaryoları
Politika Parametrelerini Yapılandırma
Bu adımda, kullanıcı yeni bir politika oluşturabilir ya da mevcut politika parametrelerini yapılandırarak erişim kurallarını belirleyebilir. Tanımlanan parametreler, politikanın çalışma şeklini (örneğin hangi IP’lerin izinli olacağı, coğrafi kısıtlamalar, koşullu aktivasyonlar vb.) doğrudan etkiler. Bu sayede politika hem kuruma özel gereksinimlere göre özelleştirilebilir hem de merkezi olarak yönetilebilir.Yeni XML Şema Doğrulama Politikası Oluşturma

Yapılandırma Adımları
Koşullar ve Hata Mesajı Özelleştirme panellerinin açıklaması için Politika Nedir? sayfasındaki Koşullar ve Hata Mesajı Özelleştirme (Error Message Customization) bölümlerini inceleyebilirsiniz.
Hata mesajı yapılandırmasının tüm katmanları, öncelik sırası ve senaryo örnekleri için Hata Mesajı Yapılandırma Rehberi sayfasına bakın.

