Tutorial Python: Bekerja dengan Layanan Web Berbasis SOAP

Python adalah bahasa pemrograman populer yang digunakan dengan dan untuk layanan web berbasis SOAP.

Ardianto Nugroho

Ardianto Nugroho

6 July 2025

Tutorial Python: Bekerja dengan Layanan Web Berbasis SOAP

Ada berbagai bahasa klien yang dapat Anda pelajari untuk membuat aplikasi web atau server untuk digunakan siapa pun. Bahasa klien populer yang banyak digunakan orang saat ini adalah Python. Baik Anda seorang insinyur perangkat lunak atau mahasiswa universitas selama semester Anda, Python adalah pilihan bahasa yang solid untuk ditambahkan ke gudang pengkodean Anda.

Python - Bahasa Pemrograman Populer

Jika ini adalah pertama kalinya Anda melihat Python, ini adalah bahasa pemrograman komputer yang terkenal karena keterbacaan dan kesederhanaannya. Ini jauh lebih ramah pengguna dibandingkan dengan bahasa pemrograman lain yang ada. Ini bisa menjadi bahasa yang sangat cocok untuk dipelajari jika Anda tertarik untuk mempelajari lebih lanjut tentang pengembangan web!

Kasus penggunaan umum lainnya untuk Python adalah dalam analisis data, kecerdasan buatan, dan otomatisasi, jadi jika Anda berencana untuk terjun ke bidang studi ini, ini adalah waktu yang tepat untuk mulai membiasakan diri dengan Python!

Layanan Web Berbasis SOAP

Apa itu SOAP dalam "Berbasis SOAP"?

SOAP, singkatan dari Simple Object Access Protocol, adalah protokol untuk bertukar informasi terstruktur di antara layanan web, sistem, dan aplikasi.

Dengan mematuhi protokol SOAP, Anda mengikuti serangkaian aturan untuk menyusun pesan dalam XML (eXtensible Markup Language), yang memungkinkan program yang berjalan pada sistem operasi dan teknologi yang berbeda untuk berkomunikasi satu sama lain.

Komponen Utama Pesan SOAP Umum

Envelope: Elemen terluar yang merangkum seluruh pesan SOAP.

Header: Bagian opsional yang berisi informasi tambahan untuk memproses pesan.

Body: Bagian utama pesan yang berisi data aktual atau informasi permintaan/respons.

Fault: Bagian opsional untuk melaporkan kesalahan.

File WSDL yang Disertakan dengan Layanan SOAP

Dokumentasi adalah sahabat terbaik pengembang saat Anda mencoba sesuatu yang baru untuk pertama kalinya. Untuk layanan web SOAP atau API SOAP, buku petunjuk hadir dalam bentuk file WSDL.

WSDL adalah singkatan dari Web Services Description Language, yang menyediakan deskripsi fungsionalitas layanan web, metode yang didukung, tipe data yang digunakan, dan protokol yang diikuti.

Mengapa Mempertimbangkan Menggunakan Python untuk Bekerja dengan Layanan Web SOAP?

Menggunakan Python untuk bekerja dengan layanan web berbasis SOAP memberikan beberapa keuntungan bagi pengembang. Berikut adalah beberapa alasan mengapa Anda harus mempertimbangkan untuk menggunakan dan mempelajari Python:

  1. Sederhana dan Mudah: Sintaks Python sangat jelas dan mudah dibaca. Hal ini memungkinkan penulisan, pemahaman, dan pemeliharaan kode Python menjadi jauh lebih sederhana daripada bahasa pemrograman lain.
  2. Pustaka Ekstensif: Dengan Python, banyak sekali set pustaka dan modul yang dapat bekerja dengan dan untuk layanan web - beberapa bahkan berspesialisasi dalam merampingkan konsumsi layanan SOAP dengan mengurangi kompleksitas kode Python yang diperlukan untuk berinteraksi dengan layanan web berbasis SOAP.
  3. Keserbagunaan: Python digunakan di banyak domain yang berbeda, mulai dari pengembangan web hingga ilmu data dan pembelajaran mesin. Dengan pemahaman yang baik tentang Python dan layanan web, Anda dapat dengan mudah mengintegrasikan layanan web berbasis SOAP ke dalam aplikasi di bidang pekerjaan yang disebutkan di atas.
  4. Dukungan Komunitas: Pengembang Python di seluruh dunia berkontribusi pada komunitas, menghasilkan sumber daya seperti tutorial dan panduan bagi pengembang yang lebih baru untuk bekerja dengan bahasa pemrograman Python, dan ini termasuk bekerja dengan layanan web berbasis SOAP juga.
  5. Dukungan Lintas Platform: Bahasa pemrograman Python dapat dijalankan pada berbagai sistem operasi, seperti Windows, macOS, Linux, dan lainnya. Hal ini memungkinkan aplikasi Python menjadi jauh lebih mudah dipelihara di berbagai lingkungan kerja.

Contoh Interaksi Python dan Layanan Web Berbasis SOAP Menggunakan Pustaka "Suds-Jurko"

Python memerlukan pustaka "suds-jurko" untuk berinteraksi dengan layanan web berbasis SOAP, jadi sebelum Anda melakukan apa pun, pastikan untuk menjalankan baris berikut di Bash:

pip install suds-jurko

Interaksi Layanan SOAP Sederhana

from suds.client import Client

# Langkah 1: Buat Klien SOAP
url = 'https://www.example.com/soap-service?wsdl'
client = Client(url)

# Langkah 2: Jelajahi Layanan
print(client)

# Langkah 3: Panggil Metode SOAP
result = client.service.say_hello('John')

# Langkah 4: Tangani Respons
print(result)

Contoh ini menggunakan layanan SOAP yang memiliki metode bernama say_hello, yang mengambil parameter dan mengembalikan sapaan. Kode ini berfungsi dengan mengganti URL https://www.example.com/soap-service?wsdl dengan URL file WSDL aktual dari layanan SOAP Anda untuk mulai bekerja dengannya di Python!

Menggunakan Python untuk Menangani Tipe Data Kompleks

from suds.client import Client

# Langkah 1: Buat Klien SOAP
url = 'https://www.example.com/complex-service?wsdl'
client = Client(url)

# Langkah 2: Jelajahi Layanan
print(client)

# Langkah 3: Panggil Metode SOAP dengan Tipe Kompleks
person_data = {'name': 'Alice', 'age': 30, 'city': 'Wonderland'}
result = client.service.process_person_data(person_data)

# Langkah 4: Tangani Respons
print(result)

Contoh kode Python di atas menunjukkan layanan SOAP dengan metode bernama process_person_data yang mengambil tipe kompleks sebagai parameter.

Membuat Layanan Web Berbasis SOAP Menggunakan Python

Anda dapat membuat layanan web berbasis SOAP (atau API SOAP) Anda sendiri dengan bahasa Python. Mulailah dengan menginstal pustaka spyne di Bash

pip install spyne

Selanjutnya, Anda harus membuat file Python baru. Sebagai contoh artikel ini, nama filenya adalah soap_service.py. Perhatikan bahwa API SOAP akan ditentukan oleh sypne.

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}!"

# Buat aplikasi dengan layanan yang ditentukan
application = Application([HelloWorldService], tns='my_namespace', in_protocol=None, out_protocol=None)

Untuk memastikan API Anda dapat berjalan, tambahkan kode berikut di bawah ini ke file yang telah Anda buat pada langkah sebelumnya.

from wsgiref.simple_server import make_server

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

Terakhir, periksa apakah berfungsi dengan menjalankan skrip Python di Bash.

python soap_service.py

API SOAP ini seharusnya berjalan pada server HTTP sederhana dengan URL http://0.0.0.0:8000.

Menguji API SOAP Python Menggunakan Apidog

Ingin tahu apakah API SOAP yang Anda buat dengan Python berfungsi? Coba gunakan Apidog - platform API yang kuat yang memungkinkan Anda tidak hanya menguji tetapi juga melakukan debug dan membuat API.

Dalam artikel ini, demonstrasi tentang cara menguji API SOAP Python akan diberikan (Catatan: Permintaan ini berbeda dari permintaan Python!).

Prasyarat untuk Pengujian

Untuk menguji API SOAP Python, pastikan bahwa:

button

Anda juga harus memilih akun mana yang lebih Anda sukai untuk masuk ke Apidog.

Langkah-langkah untuk Menguji API SOAP Python di Apidog

Langkah 1: Buat Permintaan Baru di Apidog

buat permintaan baru di Apidog
Buat permintaan baru di Apidog

Pilih tombol seperti yang ditunjukkan pada gambar di atas.

Langkah 2: Konfigurasikan Permintaan Baru

ubah tipe permintaan url apidog
Mengonfigurasi Permintaan Baru

Panah 1 - Pastikan untuk mengatur tipe permintaan ke POST karena permintaan SOAP biasanya dikirim melalui metode HTTP POST. Di sini, Anda juga harus mengatur URL Permintaan ke titik akhir API SOAP Python Anda yang sedang berjalan. Contoh URL permintaan ini adalah http://localhost:8000/.

Panah 2 - Tambahkan parameter tambahan apa pun agar sesuai dengan API SOAP Anda.

Langkah 3 - Sertakan Header

atur header untuk menguji soap api apidog
Mengatur header ke permintaan API Anda

Untuk sampai ke bagian di atas, klik tombol "Header" dan tambahkan dua header ke permintaan Anda:

Langkah 4 - Atur Badan Permintaan

mengatur badan permintaan mentah format xml apidog
Mengatur Badan Permintaan untuk Menguji API SOAP

Contoh permintaan SOAP untuk metode yang disebut say_hello dapat ditambahkan, seperti ini:

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

Pastikan saja bahwa jika contoh kode di atas digunakan, namespace (my_namespace) dan parameter metode diganti dengan detail layanan Anda yang sebenarnya.

Langkah 5 - Kirim Permintaan dan Periksa Respons

Setelah semuanya siap, tekan tombol "Kirim" yang terletak di sekitar sudut kanan atas layar!

Jika berhasil, Anda seharusnya dapat melihat respons yang diterima. Periksa kembali apakah responsnya sesuai dengan yang Anda harapkan.

Kesimpulan

Python adalah pemrograman yang direkomendasikan yang menawarkan banyak fleksibilitas untuk pemrogram baru dan lama. Yang perlu Anda lakukan hanyalah memilih platform API (seperti Apidog), dan Anda dapat mulai menguji fungsionalitas API SOAP Anda. Namun, Anda tentu saja dapat menggunakan Apidog untuk menguji API REST Python juga!

Explore more

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Pelajari cara buat web apa pun dgn Lovable. Panduan lengkap, fitur inovatif, & integrasi Apidog (API gratis).

15 April 2025

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Tutorial ini memandu Anda menyiapkan & mengelola API key khusus di Cursor: OpenAI, Anthropic, Google, & Azure.

11 April 2025

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Pelajari API NVIDIA Llama Nemotron utk buat agen AI canggih.

11 April 2025

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.