XML Şema Doğrulama (XML Schema Validation)
XML Şema Doğrulama Politikası ile gelen mesajın XPath ile belirtilen kısmının doğrulaması yapılır.
Gelen mesajın XPath ile belirtilen kısmı şemaya uygun değilse Backend API'ye gönderimi engellenir. Böylece Backend API'nin bu tür hatalı veya art niyetli mesajları işlemesi engellenerek stabil kalması ya da gereksiz işlem yapmaması sağlanır.
Bu politikanın kullanımı istemciden gelen mesaj gövdesi XML ise anlamlıdır.
Politika ayarlarını içeren görsele aşağıda yer verilmiştir:
Politika konfigürasyonu için kullanılan alanlar aşağıdaki tabloda görülmektedir.
Alan | Açıklama |
---|---|
Açıklama (Description) | Politikanın kullanımını ve yönetimini kolaylaştırmak için açıklama yazılabilir. |
XPath | İstek mesajının gövdesinde neresinin doğrulama işlemine sokulacağını belirtir. Değer olarak XPath ifadesi girilir. Boş bırakılırsa tüm mesaj gövdesinde işlem yapar. Varsayılan değer mesaj gövdesinin "body" kısmını getirecek şekilde olarak ayarlanmıştır. |
XPath'i Test Et (Test XPath) | XPath'i denemek için örnek bir XML verisi üzerinden test edilebilir. |
WSDL Şeması Kullan (Validate against WSDL) | Bu alan seçildiğinde, XSD eklemeye gerek kalmaz; servisin oluşturulduğu varsayılan WSDL dosyasında bulunan şema tanımlarına göre validasyon yapılır. |
Şema (Schema) | XML şeması girilir. XML Şeması başka bir XML şemasını içerebileceğinden birbirini referans veren şemalar olması durumunda hepsinin buraya eklenmesi gereklidir. |
System ID | Şema için verilen belirteç değeridir, isim veya URL olabilir. Bu değer birbirini referans veren şemaların include değerinde yazan ifadede kullanılmalıdır. Böylece şemaların birbirini bulabilmesi sağlanır. Örneğin elimizde 2 şema olsun. Bu iki şemanın isimleri Schema1.xsd ve Schema2.xsd olsun. Schema1 dosyası Schema2 dosyasını içersin. Bu durumda Schema1.xsd için System ID değeri boş olabilir, fakat Schema2.xsd için System Id değeri "Schema2.xsd" olmalıdır. Schema1.xsd içeriği:
CODE
|
Koşullar (Conditions) ve Hata Mesajı Özelleştirme (Error Message Customization) panellerinin detayı için Politikalar (Policies) sayfasını ziyaret edebilirsiniz.