En İyi WSDL Dosyası Örnekleri

Basit ve karmaşık WSDL örneklerini inceleyerek bilginizi artırın.

Efe Demir

Efe Demir

22 September 2025

En İyi WSDL Dosyası Örnekleri

```html

Günümüzde yazılımlar her zamankinden daha güçlü. Kullanıcılar için çok fazla bilgi ve işlevsellik sağlayabilirler. Uygulamaların giderek artan güçlü yetenekleriyle, bunların hepsinin nasıl başarıldığını hiç merak ettiniz mi?

Uygulama geliştirme geriye dönük bakıldığında sıklıkla görünen bir dosya türü WSDL dosyasıdır, peki nedir bu?

WSDL Dosyası Nedir?

WSDL (Web Services Description Language) dosyaları, farklı uygulamaların bir ağ üzerinden standart bir şekilde birbiriyle iletişim kurmasını sağlar. Web hizmeti sağlayıcılarını ve tüketicilerini birbirine bağlayarak, iki taraf arasında (ancak bunlarla sınırlı olmamak üzere) veri alışverişine izin verir.

WSDL dosyaları ayrıca, özellikle SOAP tabanlı web hizmetleri için, bir web hizmetinin yetenekleri hakkında bol miktarda açıklama sağlamasıyla da bilinir. WSDL dosyaları XML (eXtensible Markup Language) dilinde yazılır ve SOAP API'lerinin test edilmesi için hayati öneme sahiptir.

Daha da önemlisi, WSDL dosyaları, web hizmeti sağlayıcısı ile hizmet tüketicisi arasındaki resmi bir anlaşmanın tanımı nedeniyle önemlidir. WSDL dosyaları, hangi işlemlerin mevcut olduğunu, mesajların biçimini ve yapısını ve web hizmetini kullanırken gereken diğer önemli ayrıntıları gösterir.

Örneklerle WSDL Dosyalarının Yapısı

WSDL dosyaları, onu kullanmak için bilgi sağlayan temel bileşenlere sahiptir. Bu makale, bir hava durumu web hizmetini örnek olarak kullanarak, bir WSDL dosyasının bölümlerini XML dilinde gösterecektir.

Türler type

WSDL dosyaları type bölümü, web hizmeti işlemlerinde kullanılacak veri türlerini tanımlamak için kullanılır.

<types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.com/weather">
        <element name="City" type="string"/>
        <element name="Weather" type="string"/>
    </schema>
</types>

Bu örnek, City ve Weather adları dahil olmak üzere, öğelerin yapısını string türünde belirtir.

Mesaj message

message bölümü, web hizmeti sağlayıcısı ile hizmet kullanıcısı arasında değiş tokuş edilen veri öğelerini tanımlar. Yukarıdaki örneklerde, GetWeatherRequest ve GetWeatherResponse mesaj adlarını görebilirsiniz.

<message name="GetWeatherRequest">
    <part name="City" element="tns:City"/>
</message>
<message name="GetWeatherResponse">
    <part name="Weather" element="tns:Weather"/>
</message>

Burada, GetWeatherRequest ve GetWeatherResponse mesajları, gönderilen veya alınan veri öğelerini belirten bir bölümle tanımlanır.

Port Türü portType

portType bölümü, GetWeather işlemi gibi, web hizmeti tarafından gerçekleştirilebilen bir dizi işlemi tanımlar. Hizmet için soyut arayüzü tanımlar, işlemleri girişleri tns:GetWeatherRequest ve çıkışları tns:GetWeatherResponse mesajlarıyla birlikte listeler.

<portType name="WeatherServicePortType">
    <operation name="GetWeather">
        <input message="tns:GetWeatherRequest"/>
        <output message="tns:GetWeatherResponse"/>
    </operation>
</portType>

Yukarıdaki örnek, WeatherServicePortType tanımlı bir işlem GetWeather'ı, belirtilen giriş ve çıkış mesajlarıyla gösterir.

Bağlama binding

binding bölümü, portType içinde tanımlanan soyut işlemlerin iletişim için somut bir protokole nasıl eşlendiğini belirtir. Mesaj biçimi ve protokol (örneğin, SOAP) gibi ayrıntıları tanımlar.

<binding name="WeatherServiceSoapBinding" type="tns:WeatherServicePortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="GetWeather">
        <soap:operation soapAction="http://example.com/weather/GetWeather"/>
        <input>
            <soap:body use="literal"/>
        </input>
        <output>
            <soap:body use="literal"/>
        </output>
    </operation>
</binding>

Bu örnekte, WeatherServiceSoapBinding, mesaj biçimi ve taşıma hakkında ayrıntıları belirterek, bağlama protokolü olarak SOAP ile tanımlanır.

Port port

port bölümü, web hizmetine erişilebilecek ağ adresini belirtir.

<service name="WeatherService">
    <port name="WeatherServicePort" binding="tns:WeatherServiceSoapBinding">
        <soap:address location="http://example.com/weather/service"/>
    </port>
</service>

Burada, WeatherService, SOAP bağlamasını kullanan WeatherServicePort ile tanımlanır ve adresi http://example.com/weather/service olarak belirtilir.

WSDL Dosyalarına Örnekler

Basit Hava Durumu Web Hizmeti WSDL Dosyası Örneği

Önceki bölümde sağlanan farklı temel bileşen kod parçacıklarını derleyerek, bunları bir araya getirebilir ve basit bir hava durumu web hizmeti WSDL dosyası oluşturabiliriz.

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             xmlns:tns="http://example.com/weather"
             targetNamespace="http://example.com/weather">

    <types>
        <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.com/weather">
            <element name="City" type="string"/>
            <element name="Weather" type="string"/>
        </schema>
    </types>

    <message name="GetWeatherRequest">
        <part name="City" element="tns:City"/>
    </message>
    <message name="GetWeatherResponse">
        <part name="Weather" element="tns:Weather"/>
    </message>

    <portType name="WeatherServicePortType">
        <operation name="GetWeather">
            <input message="tns:GetWeatherRequest"/>
            <output message="tns:GetWeatherResponse"/>
        </operation>
    </portType>

    <binding name="WeatherServiceSoapBinding" type="tns:WeatherServicePortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="GetWeather">
            <soap:operation soapAction="http://example.com/weather/GetWeather"/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
        </operation>
    </binding>

    <service name="WeatherService">
        <port name="WeatherServicePort" binding="tns:WeatherServiceSoapBinding">
            <soap:address location="http://example.com/weather/service"/>
        </port>
    </service>

</definitions>

Bu basit hava durumu web hizmeti örneğinde, şunlar gözlemlenebilir:

Karmaşık E-Ticaret Web Hizmeti WSDL Dosyası Örneği

İşte birden fazla işlem, veri türü ve özellik içeren daha karmaşık bir e-ticaret web hizmeti WSDL dosyası örneği.

?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             xmlns:tns="http://example.com/ecommerce"
             targetNamespace="http://example.com/ecommerce">

    <types>
        <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.com/ecommerce">
            <element name="Product">
                <complexType>
                    <sequence>
                        <element name="ProductId" type="string"/>
                        <element name="ProductName" type="string"/>
                        <element name="Price" type="decimal"/>
                    </sequence>
                </complexType>
            </element>
            <element name="Order">
                <complexType>
                    <sequence>
                        <element name="OrderId" type="string"/>
                        <element name="CustomerName" type="string"/>
                        <element name="Products" type="tns:Product" minOccurs="0" maxOccurs="unbounded"/>
                    </sequence>
                </complexType>
            </element>
        </schema>
    </types>

    <message name="GetProductRequest">
        <part name="ProductId" element="tns:ProductId"/>
    </message>
    <message name="GetProductResponse">
        <part name="Product" element="tns:Product"/>
    </message>

    <message name="PlaceOrderRequest">
        <part name="Order" element="tns:Order"/>
    </message>
    <message name="PlaceOrderResponse">
        <part name="Confirmation" type="string"/>
    </message>

    <portType name="ECommerceServicePortType">
        <operation name="GetProduct">
            <input message="tns:GetProductRequest"/>
            <output message="tns:GetProductResponse"/>
        </operation>
        <operation name="PlaceOrder">
            <input message="tns:PlaceOrderRequest"/>
            <output message="tns:PlaceOrderResponse"/>
        </operation>
    </portType>

    <binding name="ECommerceServiceSoapBinding" type="tns:ECommerceServicePortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="GetProduct">
            <soap:operation soapAction="http://example.com/ecommerce/GetProduct"/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
        </operation>
        <operation name="PlaceOrder">
            <soap:operation soapAction="http://example.com/ecommerce/PlaceOrder"/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
        </operation>
    </binding>

    <service name="ECommerceService">
        <port name="ECommerceServicePort" binding="tns:ECommerceServiceSoapBinding">
            <soap:address location="http://example.com/ecommerce/service"/>
        </port>
    </service>

</definitions>

Bu karmaşık e-ticaret web hizmeti örneğinde, şunlar gözlemlenebilir:

Apidog Kullanarak WSDL Dosyalarını Düzenleme

WSDL dosyaları yazılım geliştirme sahnesinde nispeten yaygın olduğundan, kendiniz bir tane düzenlemeniz veya oluşturmanız gerekebilir. Orada birçok API platformu varken, Apidog mükemmel bir seçimdir.

Apidog, geliştiricilerin, web hizmeti sağlayıcılarının ve her geçmişten web hizmeti kullanıcılarının diğer API platformlarından Apidog'a sorunsuz bir geçiş yapmasını sağlar.

Neyse ki, Apidog ayrıca WSDL dosyası içe aktarımını da kapsar! Denemek isterseniz, aşağıdaki düğmeleri kullanarak Apidog'u indirdiğinizden emin olun.

button

Girdikten sonra oturum açmayı ve yeni bir proje başlatmayı unutmayın. Yardıma ihtiyacınız olursa, Apidog'un Yardım Belgelerine göz atın.

SOAP API'nizi Bir WSDL Dosyasından Apidog'a İçe Aktarma

import wsdl file soap api apidog
WSDL dosyasını Apidog'a İçe Aktarma

Yeni bir proje açtıktan sonra, Apidog penceresinin sol tarafında bulunan dikey araç çubuğundaki "Ayarlar" düğmesine tıklayın. Ardından, o sırayla Ok 2 ve Ok 3'e tıklayın.

Apidog'da SOAP API'sini Kolayca Test Etme

Apidog kullanarak WSDL dosyalarını düzenleme

WSDL dosyasını başarıyla içe aktardıysanız, ekranın sol tarafında, Ok 1 etrafında gösterildiği gibi adını görmelisiniz.

WSDL dosyasını düzenlemeye başlamak için, artan sırada Ok 2'den 4'e tıklayın ve hazırsınız!

Sonuç

XML (eXtensible Markup Language) tabanlı WSDL dosyalarıyla, anlamak biraz daha kolaydır. WSDL dosyaları, web hizmetinin açıklamaları ve işlevsellikleri ne kadar spesifik olduğuna bağlı olarak karmaşıklıkta değişiklik gösterebilir.

```

Explore more

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Yerel DeepSeek R1'i Cursor IDE ile kurun ve yapılandırın. Özel, uygun maliyetli AI kodlama yardımı için.

4 June 2025

Android'de Gemma 3n Nasıl Çalıştırılır?

Android'de Gemma 3n Nasıl Çalıştırılır?

Google AI Edge Gallery'den Gemma 3n'i Android'e kurup çalıştırmayı öğrenin.

3 June 2025

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

Claude Code'u GitHub Actions ile entegre edin: Kod incelemeleri, hata düzeltmeleri ve özellik uygulamaları. Kurulum, iş akışları ve geliştiriciler için ipuçları.

29 May 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin