Python Eğitimi: SOAP Tabanlı Web Servisleriyle Çalışmak

Python, SOAP tabanlı web servisleri için ve onlarla birlikte kullanılan popüler bir programlama dilidir.

Efe Demir

Efe Demir

5 June 2025

Python Eğitimi: SOAP Tabanlı Web Servisleriyle Çalışmak

Web uygulamaları veya herkesin kullanabileceği sunucular oluşturmak için öğrenebileceğiniz çeşitli istemci dilleri vardır. Günümüzde birçok insanın kullandığı popüler bir istemci dili Python'dur. İster bir yazılım mühendisi olun, ister döneminizde bir üniversite öğrencisi olun, Python kodlama cephaneniz için seçebileceğiniz sağlam bir dil seçeneğidir.

Python - Popüler Programlama Dili

Python'u ilk kez görüyorsanız, okunabilirliği ve basitliği ile tanınan bir bilgisayar programlama dilidir. Diğer mevcut programlama dillerine kıyasla çok daha kullanıcı dostudur. Web geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, öğrenmek için çok uygun bir dil olabilir!

Python için diğer yaygın kullanım durumları veri analizi, yapay zeka ve otomasyondadır, bu nedenle bu çalışma alanlarına girmeyi planlıyorsanız, kendinizi Python'a alıştırmaya başlamak için mükemmel bir zaman!

SOAP tabanlı Web Hizmetleri

"SOAP tabanlı" içinde SOAP nedir?

SOAP, Simple Object Access Protocol'ün kısaltmasıdır ve web hizmetleri, sistemler ve uygulamalar arasında yapılandırılmış bilgi alışverişi için bir protokoldür.

SOAP protokolüne uyarak, farklı işletim sistemlerinde ve teknolojilerde çalışan programların birbiriyle iletişim kurmasını sağlayan XML'de (eXtensible Markup Language) mesajları yapılandırmak için bir dizi kurala uymuş olursunuz.

Tipik bir SOAP Mesajının Temel Bileşenleri

Envelope: Tüm SOAP mesajını kapsayan en dıştaki öğe.

Header: Mesajın işlenmesi için ek bilgiler içeren isteğe bağlı bir bölüm.

Body: Mesajın, gerçek verileri veya istek/yanıt bilgilerini içeren ana kısmı.

Fault: Hataları bildirmek için isteğe bağlı bir bölüm.

SOAP Hizmeti ile Gelen WSDL Dosyası

İlk kez yeni bir şey denerken, dokümantasyon bir geliştiricinin en iyi arkadaşıdır. SOAP web hizmetleri veya SOAP API'leri için, talimat kılavuzu bir WSDL dosyası biçiminde gelir.

WSDL, Web Services Description Language'in kısaltmasıdır ve web hizmetinin işlevlerinin, desteklenen yöntemlerin, kullanılan veri türlerinin ve izlenen protokollerin açıklamalarını sağlar.

SOAP Web Hizmetleri ile Çalışmak için Neden Python Kullanmayı Düşünmelisiniz?

SOAP tabanlı web hizmetleri ile çalışmak için Python kullanmak, geliştiriciler için çeşitli avantajlar sağlar. İşte Python'u kullanmayı ve öğrenmeyi düşünmeniz için birkaç neden:

  1. Basit ve Kolay: Python'ın sözdizimi çok açık ve okunması kolaydır. Bu, Python kodunu yazmayı, anlamayı ve sürdürmeyi diğer programlama dillerine göre çok daha basit hale getirir.
  2. Kapsamlı Kütüphane: Python ile, web hizmetleriyle çalışabilen ve onlar için çalışabilen sayısız kütüphane seti ve modül vardır - bazıları hatta SOAP tabanlı web hizmetleriyle etkileşim kurmak için gereken Python kodunun karmaşıklığını azaltarak SOAP hizmet tüketimini kolaylaştırma konusunda uzmanlaşmıştır.
  3. Çok Yönlülük: Python, web geliştirmeden veri bilimi ve makine öğrenimine kadar birçok farklı alanda kullanılır. Python ve web hizmetleri hakkında iyi bir anlayışla, SOAP tabanlı web hizmetlerini yukarıda bahsedilen çalışma alanlarındaki uygulamalara kolayca entegre edebilirsiniz.
  4. Topluluk Desteği: Tüm dünyadaki Python geliştiricileri, daha yeni geliştiricilerin Python programlama diliyle çalışması için eğitimler ve kılavuzlar gibi kaynaklar üreterek topluluğa katkıda bulunur ve bu, SOAP tabanlı web hizmetleriyle çalışmayı da içerir.
  5. Çapraz Platform Desteği: Python programlama dili, Windows, macOS, Linux ve daha fazlası gibi çeşitli işletim sistemlerinde çalıştırılabilir. Bu, Python uygulamalarının farklı çalışma ortamlarında çok daha sürdürülebilir olmasını sağlar.

"Suds-Jurko" Kütüphanesini Kullanarak Python ve SOAP tabanlı Web Hizmetlerinin Etkileşim Örnekleri

Python'un SOAP tabanlı web hizmetleriyle etkileşim kurması için "suds-jurko" kütüphanesine ihtiyacı vardır, bu nedenle herhangi bir şey yapmadan önce, Bash'te aşağıdaki satırı çalıştırdığınızdan emin olun:

pip install suds-jurko

Basit SOAP Hizmet Etkileşimi

from suds.client import Client

# Adım 1: Bir SOAP İstemcisi Oluşturun
url = 'https://www.example.com/soap-service?wsdl'
client = Client(url)

# Adım 2: Hizmeti Keşfedin
print(client)

# Adım 3: Bir SOAP Yöntemi Çağırın
result = client.service.say_hello('John')

# Adım 4: Yanıtı İşleyin
print(result)

Bu örnek, bir parametre alan ve bir selamlama döndüren say_hello adlı bir yönteme sahip bir SOAP hizmeti kullanır. Bu kod, URL'yi https://www.example.com/soap-service?wsdl SOAP hizmetinizin gerçek WSDL dosyası URL'si ile değiştirerek Python'da çalışmaya başlamak için işlevseldir!

Karmaşık Veri Türlerini İşlemek için Python Kullanma

from suds.client import Client

# Adım 1: Bir SOAP İstemcisi Oluşturun
url = 'https://www.example.com/complex-service?wsdl'
client = Client(url)

# Adım 2: Hizmeti Keşfedin
print(client)

# Adım 3: Karmaşık Türle Bir SOAP Yöntemi Çağırın
person_data = {'name': 'Alice', 'age': 30, 'city': 'Wonderland'}
result = client.service.process_person_data(person_data)

# Adım 4: Yanıtı İşleyin
print(result)

Yukarıdaki Python kodu örneği, bir parametre olarak karmaşık bir tür alan process_person_data adlı bir yönteme sahip bir SOAP hizmetini göstermektedir.

Python Kullanarak SOAP tabanlı Web Hizmetleri Oluşturma

Python diliyle kendi SOAP tabanlı web hizmetinizi (veya SOAP API'nizi) oluşturabilirsiniz. Bash'te spyne kütüphanesini yükleyerek başlayın

pip install spyne

Ardından, yeni bir Python dosyası oluşturmalısınız. Bu makalenin örneği olarak, dosya adı soap_service.py olacaktır. SOAP API'sinin sypne tarafından tanımlanacağını unutmayın.

from spyne import Application, rpc, ServiceBase, Iterable, Integer, Unicode

class HelloWorldService(ServiceBase):
    @rpc(Unicode, Integer, _returns=Iterable(Unicode))
    def say_hello(ctx, name, times):
        for i in range(times):
            yield f"Hello, {name}!"

# Belirtilen hizmetle uygulamayı oluşturun
application = Application([HelloWorldService], tns='my_namespace', in_protocol=None, out_protocol=None)

API'nizin çalışmasını sağlamak için, bir önceki adımda oluşturduğunuz dosyaya aşağıdaki kodu ekleyin.

from wsgiref.simple_server import make_server

if __name__ == '__main__':
    server = make_server('0.0.0.0', 8000, application)
    server.serve_forever()

Son olarak, Python komut dosyasını Bash'te çalıştırarak çalışıp çalışmadığını kontrol edin.

python soap_service.py

Bu SOAP API'si, http://0.0.0.0:8000 URL'si ile basit bir HTTP sunucusunda çalışıyor olmalıdır.

Apidog Kullanarak Python SOAP API'sini Test Etme

Python ile oluşturduğunuz SOAP API'sinin çalışıp çalışmadığını mı merak ediyorsunuz? Yalnızca test etmekle kalmayıp, aynı zamanda API'leri hata ayıklamanıza ve oluşturmanıza olanak tanıyan güçlü bir API platformu olan Apidog'u deneyin.

Bu makalede, Python SOAP API'lerini nasıl test edeceğinize dair bir gösterim sağlanacaktır (Not: Bu istek, Python isteklerinden farklıdır!).

Test Etme Önkoşulları

Python SOAP API'sini test etmek için, şunlardan emin olun:

button

Ayrıca, Apidog'a giriş yapmak için hangi hesabı tercih ettiğinizi seçmeniz gerekecektir.

Apidog'da Python SOAP API'sini Test Etme Adımları

Adım 1: Apidog'da Yeni Bir İstek Oluşturun

create new request on Apidog
Apidog'da yeni bir istek oluşturun

Yukarıdaki resimde gösterildiği gibi düğmeyi seçin.

Adım 2: Yeni İsteği Yapılandırın

change request type url apidog
Yeni İsteği Yapılandırma

Ok 1 - İstek türünü POST olarak ayarladığınızdan emin olun, çünkü SOAP istekleri genellikle HTTP POST yöntemiyle gönderilir. Burada ayrıca İstek URL'sini, çalışan Python SOAP API'nizin uç noktasına ayarlamalısınız. Bu istek URL'sine bir örnek http://localhost:8000/ olabilir.

Ok 2 - SOAP API'nizle eşleşecek ek parametreler ekleyin.

Adım 3 - Başlıkları Dahil Edin

set headers to test soap api apidog
API isteğinize başlıkları ayarlama

Yukarıdaki bölüme ulaşmak için, "Başlıklar" düğmesine tıklayın ve isteğinize iki başlığı ekleyin:

Adım 4 - İstek Gövdesini Ayarlayın

setting raw request body xml format apidog
SOAP API'sini Test Etmek için İstek Gövdesini Ayarlama

say_hello adlı bir yöntem için bir SOAP isteği örneği şu şekilde eklenebilir:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="my_namespace">
    <soapenv:Header/>
    <soapenv:Body>
        <web:say_hello>
            <name>John</name>
            <times>3</times>
        </web:say_hello>
    </soapenv:Body>
</soapenv:Envelope>

Yukarıdaki kod örneğinin kullanılması durumunda, ad alanının (my_namespace) ve yöntem parametrelerinin gerçek hizmet ayrıntılarınızla değiştirildiğinden emin olun.

Adım 5 - İstek Gönderin ve Yanıtı Kontrol Edin

Her şey hazır olduğunda, ekranın sağ üst köşesinde bulunan "Gönder" düğmesine basın!

Başarılı olursa, alınan yanıtı görüntüleyebilmelisiniz. Yanıtın beklediğiniz gibi olup olmadığını iki kez kontrol edin.

Sonuç

Python, hem yeni hem de eski programcılar için çok fazla esneklik sunan önerilen bir programlama dilidir. Tek yapmanız gereken bir API platformu (Apidog gibi) seçmek ve SOAP API'nizin işlevselliğini test etmeye başlayabilirsiniz. Ancak, elbette Apidog'u Python REST API'lerini test etmek için de kullanabilirsiniz!

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