> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Çoklu Schema Port WSDL

> SOAP Web Servisi oluşturabilirsiniz. Birden çok schema ve birden çok port içeren WSDL dosyası yükleyebilirsiniz

## 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.

<Warning>
  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.
</Warning>

<Info>
  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.
</Info>

<AccordionGroup>
  <Accordion title="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.

    <Steps>
      <Step title="XSD Dosyalarını Bulun">
        WSDL ile beraber hangi XSD dosyalarının beraber yüklenmesi gerektiğinin bulunması gerekir.
      </Step>

      <Step title="XSD Dosyalarını İndirin">
        Bu XSD dosyalarının içeriğinin dosya olarak indirilmesi gerekir.
      </Step>

      <Step title="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.**
      </Step>
    </Steps>

    **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:**

    <img src="https://mintcdn.com/apinizer/Ku5drz7BLIhaC8K7/images/develop/api-proxy-olusturma/wsdl-guncelleme.png?fit=max&auto=format&n=Ku5drz7BLIhaC8K7&q=85&s=ad4bdcb06741330a26b156b04be63aa2" alt="WSDL güncelleme" width="800" data-path="images/develop/api-proxy-olusturma/wsdl-guncelleme.png" />
  </Accordion>

  <Accordion title="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.

    <Warning>
      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.
    </Warning>

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

    <img src="https://mintcdn.com/apinizer/brWu4H3JyK0OgbJV/images/develop/api-proxy-olusturma/dosya-dizin-yollari.png?fit=max&auto=format&n=brWu4H3JyK0OgbJV&q=85&s=553a01a9f9bbc0bb619e7b7533ff056b" alt="Dosya dizin yolları" width="600" data-path="images/develop/api-proxy-olusturma/dosya-dizin-yollari.png" />

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

    <img src="https://mintcdn.com/apinizer/Ku5drz7BLIhaC8K7/images/develop/api-proxy-olusturma/zip-dosyalari.png?fit=max&auto=format&n=Ku5drz7BLIhaC8K7&q=85&s=d73df1799d5aed0ddaaac21b25747e63" alt="ZIP dosyaları" width="600" data-path="images/develop/api-proxy-olusturma/zip-dosyalari.png" />
  </Accordion>
</AccordionGroup>

## SOAP Servisinde Birden Fazla Port Olması

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

<img src="https://mintcdn.com/apinizer/brWu4H3JyK0OgbJV/images/develop/api-proxy-olusturma/coklu-port.png?fit=max&auto=format&n=brWu4H3JyK0OgbJV&q=85&s=7df6c341f3d83d9dc7f369a301f43901" alt="Çoklu port" width="800" data-path="images/develop/api-proxy-olusturma/coklu-port.png" />

<Info>
  Bu durumda Apinizer bu portlardan ilkini kullanır.
</Info>

<Warning>
  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.
</Warning>

<Steps>
  <Step title="WSDL'i Düzenleyin">
    Her port için ayrı bir WSDL dosyası oluşturun. WSDL içerisinde sadece ilgili port kalacak şekilde düzenleyin.
  </Step>

  <Step title="WSDL'i Yükleyin">
    Düzenlenmiş WSDL dosyasını Apinizer'a yükleyin.
  </Step>

  <Step title="API Proxy Oluşturun">
    Her port için ayrı API Proxy oluşturun.
  </Step>
</Steps>
