Ana içeriğe geç

Çoklu Schema Port WSDL

WSDL'in Dosya olarak yüklenmesi

SOAP servislerinde özellikle sıkça karşılan bir sorun WSDL'in https adresi üzerinden erişime açılmasına rağmen içindeki XSD dosyalarının erişiminin http adresi üzerinde kalması ve dolayısıyla bunun da dosya çözümleme sorunlarına yol açmasıdır.

uyarı

Bu gibi SOAP Servislerinin Apinizer'a eklenmesi gerektiği durumlarda özellikle de servis tanım dosyasının düzeltilme seçeneği yoksa, dosya yükleme özelliği bize servisin Apinizer'a eklenebilmesini sağlar.

bilgi

Servisin WSDL dosya yükleme seçeneği ile Apinizer'a tanımlanması yöntemi seçilirse, diğer yükleme seçeneklerinden farklı olarak dikkat edilmesi gereken noktalar vardır.

XSD Dosyalarını Belirleme ve İndirme

WSDL yapısı gereği içerisinde farklı XSD dosyalarına referans verebilir, bu referansların da sisteme yüklenmesi gerekir.

XSD Dosyalarını Bulun

WSDL ile beraber hangi XSD dosyalarının beraber yüklenmesi gerektiğinin bulunması gerekir.

XSD Dosyalarını İndirin

Bu XSD dosyalarının içeriğinin dosya olarak indirilmesi gerekir.

WSDL'i Güncelleyin

Dosyalar indirildikten sonra her birinin WSDL içerisindeki yeri güncellenmelidir.

WSDL güncellenmesi tek başına yeterli olmayabilir, XSD içerisinde başka XSD'ye referans veren yerler varsa bunlar da güncellenmelidir.

WSDL güncellenmesi tek başına yeterli olmayabilir, XSD içerisinde başka XSD'ye referans veren yerler varsa bunlar da güncellenmelidir.

WSDL içerisindeki yerlerin güncellenmesini gösteren görsele aşağıda yer verilmiştir:

WSDL güncelleme
Dosyaları ZIP Olarak Hazırlama

Referans olarak gösterilen XSD dosyalarının WSDL ile beraber sisteme yüklenmesi için Apinizer dosyaların beraber "zip"lenmesi gerekir.

uyarı

Dosyaların ziplenmesi için dosyaların hepsinin aynı dosya yolu seviyesinde olması gereklidir. Dosyaları bir klasöre koyup, klasörün ziplenmesi durumunda WSDL düzgün bir şekilde ayrıştırılamaz.

Dosya dizin yollarını gösteren örnek görsele aşağıda yer verilmiştir:

Dosya dizin yolları

Bu dosyaların ziplenmiş halinin görseli aşağıdaki gibidir:

ZIP dosyaları

SOAP Servisinde Birden Fazla Port Olması

SOAP servislerinde aşağıdaki görselde yer aldığı gibi birden fazla port olabilir.

Çoklu port
bilgi

Bu durumda Apinizer bu portlardan ilkini kullanır.

uyarı

Diğer portlar için de API Proxy oluşturmak isteniyorsa, API Proxy'si oluşturulmak istenen her bir port için servisin tanım dosyası (WSDL) içerisinde sadece ilgili port kalacak şekilde WSDL güncellenmeli ve Apinizer'a yüklenmelidir.

WSDL'i Düzenleyin

Her port için ayrı bir WSDL dosyası oluşturun. WSDL içerisinde sadece ilgili port kalacak şekilde düzenleyin.

WSDL'i Yükleyin

Düzenlenmiş WSDL dosyasını Apinizer'a yükleyin.

API Proxy Oluşturun

Her port için ayrı API Proxy oluşturun.

API Proxy'yi Yeniden Ayrıştırma (Reparse)

WSDL'in backend tarafında güncellenmesi durumunda (yeni bir port eklenmesi, şemanın değişmesi, operasyon sayısının artması/azalması gibi) API Proxy'yi baştan oluşturmaya gerek kalmadan Yeniden Ayrıştır özelliğiyle mevcut API Proxy güncellenebilir. Bu özellik WSDL tabanlı SOAP servislerinin yanı sıra Swagger, OpenAPI ve WADL kaynaklı API Proxy'ler için de kullanılabilir.

Yeniden ayrıştırma, API Proxy listesindeki ilgili satırın işlem menüsünden Yeniden Ayrıştır seçeneğiyle başlatılır ve adım adım ilerleyen bir sihirbaz üzerinden yürütülür.

Kaynak

Tanım dosyası, API Proxy ilk oluşturulduğunda kullanılan adresten (URL) tekrar çekilebilir ya da yeni bir dosya yüklenerek ayrıştırma yapılabilir. URL üzerinden çekimde, ilk oluşturma sırasında tanımlanan SSL/TLS ayarları (truststore, sertifika, SSL doğrulamasını atlama) otomatik olarak uygulanır.

Yeniden ayrıştırma sihirbazı — Kaynak adımı
Karşılaştır & Seç

Ayrıştırma tamamlandığında mevcut API Proxy ile yeni ayrıştırılan tanım karşılaştırmalı olarak sunulur. Bu adımda üç bölüm bulunur:

Genel Bilgiler: Ad, açıklama ve backend API versiyonu alanları için API Proxy'deki mevcut değer önceliklidir ve düzenlenebilir; yeni ayrıştırılan değer ise yanında salt-okunur referans olarak gösterilir. Ayrıştırılan değeri kullan bağlantısıyla önerilen değer tek tıkla uygulanabilir, API Proxy değerine dön ile geri alınabilir.

Servis Adresi (Routing): Servis/yönlendirme adresleri yeni ayrıştırmadan otomatik alınmaz — her zaman API Proxy'deki mevcut adresler korunur ve gerekirse elle düzenlenebilir. Yeni ayrıştırmada bulunan adresler yalnızca karşılaştırma amacıyla salt-okunur şekilde gösterilir, otomatik olarak uygulanmaz.

Operasyonlar / Endpoint'ler: Her operasyon; yeni, değişti, tanımda yok veya aynı olarak sınıflandırılır. Yeni ve değişen operasyonlar için ekleme/güncelleme uygulanıp uygulanmayacağı, tanımdan kaldırılmış operasyonlar için ise API Proxy'den silinip silinmeyeceği tek tek seçilebilir. Durum bazlı filtreleme ile yalnızca belirli bir gruptaki operasyonlar da listelenebilir.

WSDL kaynaklı API Proxy'lerde ayrıca Diğer Tanımlar sekmesi görüntülenir:

AlanAçıklama
XSD şemalarını yeni ayrıştırılanlarla değiştirİşaretli olduğunda (varsayılan) API Proxy'nin şema tanımları yeni ayrıştırmadan gelenlerle güncellenir. İşaret kaldırılırsa mevcut şema tanımları korunur.
Eğer WSDL'de varsa WS-A ayarını etkinleştirYeni bir SOAP API tanımlanırken kullanılan mantıkla aynı şekilde çalışır; işaretlenirse yeniden ayrıştırılan operasyonlarda WS-Addressing etkinleştirilir.
Eğer WSDL'de varsa WS-RM ayarını etkinleştirYeni bir SOAP API tanımlanırken kullanılan mantıkla aynı şekilde çalışır; işaretlenirse yeniden ayrıştırılan operasyonlarda WS-ReliableMessaging etkinleştirilir.
Yeniden ayrıştırma sihirbazı — Genel Bilgiler sekmesiYeniden ayrıştırma sihirbazı — Operasyonlar sekmesiYeniden ayrıştırma sihirbazı — Diğer Tanımlar sekmesi
Onay

Son adımda genel bilgilerde yapılan değişiklikler, servis adresi düzenlemeleri ve eklenecek/güncellenecek/kaldırılacak operasyon sayıları özet olarak listelenir. Kaldırılacak operasyonlar için, bu operasyonlara bağlı politika ve yetkilendirme ayarlarının da birlikte kaldırılacağına dair uyarı gösterilir. Onaylandığında API Proxy güncellenir.

bilgi

Bir operasyonun ileride yapılacak tüm yeniden ayrıştırma işlemlerinden kalıcı olarak muaf tutulması isteniyorsa (örneğin tanım dosyasından silinse bile API Proxy'de kalmaya devam etmesi isteniyorsa), ilgili operasyonun ayarlarındaki Re-Parse'da Yoksay seçeneği kullanılabilir. Bkz. Endpoint Konfigürasyonu ve SOAP Metod Konfigürasyonu.

uyarı

Yeniden ayrıştırma sırasında API Proxy'nin servis adresi otomatik olarak değiştirilmez; yalnızca elle düzenlenirse güncellenir. Bu davranış, üretim adresinin yanlışlıkla test/geliştirme adresiyle değiştirilmesi gibi hataların önüne geçer.