Contoh Terbaik File WSDL

Perkaya pengetahuanmu dengan contoh WSDL sederhana & kompleks.

Ardianto Nugroho

Ardianto Nugroho

28 January 2026

Contoh Terbaik File WSDL

Apidog untuk Perusahaan

Penerapan On-Premises

SSO & RBAC

Sesuai SOC 2

Jelajahi Apidog Enterprise

Perangkat lunak saat ini lebih canggih dari sebelumnya. Mereka dapat menyediakan begitu banyak informasi dan fungsionalitas bagi pengguna. Dengan kemampuan aplikasi yang semakin canggih, pernahkah Anda bertanya-tanya bagaimana semua itu bisa dicapai?

Salah satu jenis berkas yang sering muncul dalam pengembangan aplikasi adalah berkas WSDL, tetapi apa itu?

Apa itu Berkas WSDL?

WSDL (Web Services Description Language) memungkinkan aplikasi yang berbeda untuk berkomunikasi satu sama lain melalui jaringan dengan cara yang terstandarisasi. Ini menghubungkan penyedia dan konsumen layanan web, memungkinkan pertukaran data antara kedua belah pihak, tetapi tidak terbatas pada itu.

Berkas WSDL juga dikenal karena memberikan deskripsi yang cukup mengenai kemampuan layanan web, khususnya untuk layanan web berbasis SOAP. Berkas WSDL ditulis dalam bahasa XML (eXtensible Markup Language) dan sangat penting untuk pengujian API SOAP.

Lebih penting lagi, berkas WSDL signifikan karena definisi perjanjian formal antara penyedia layanan web dan konsumen layanan. Berkas WSDL menunjukkan operasi apa yang tersedia, format dan struktur pesan, dan detail penting lainnya yang diperlukan saat menggunakan layanan web.

Struktur Berkas WSDL dengan Contoh

Berkas WSDL memiliki komponen kunci yang menyediakan informasi untuk menggunakannya. Artikel ini akan menunjukkan bagian-bagian dari berkas WSDL dalam bahasa XML, menggunakan layanan web cuaca sebagai contoh.

Tipe type

Bagian type dari berkas WSDL digunakan untuk mendefinisikan tipe data yang akan digunakan dalam operasi layanan web.

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

Contoh ini menentukan struktur elemen, termasuk nama mereka City dan Weather yang bertipe string.

Pesan message

Bagian message mendefinisikan elemen data yang dipertukarkan antara penyedia layanan web dan pengguna layanan. Dalam contoh di atas, Anda dapat melihat nama pesan GetWeatherRequest dan GetWeatherResponse.

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

Di sini, pesan GetWeatherRequest dan GetWeatherResponse didefinisikan dengan bagian yang menentukan elemen data yang dikirim atau diterima.

Tipe Port portType

Bagian portType menjelaskan serangkaian operasi yang dapat dilakukan oleh layanan web, seperti nama operasi GetWeather. Ini mendefinisikan antarmuka abstrak untuk layanan, mencantumkan operasi beserta pesan masukan tns:GetWeatherRequest dan keluaran tns:GetWeatherResponse.

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

Contoh di atas menunjukkan WeatherServicePortType operasi yang ditentukan GetWeather dengan pesan masukan dan keluaran yang ditentukan.

Binding binding

Bagian binding menentukan bagaimana operasi abstrak yang didefinisikan dalam portType dipetakan ke protokol konkret untuk komunikasi. Ini mendefinisikan detail seperti format pesan dan protokol (misalnya, SOAP).

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

Dalam contoh ini, WeatherServiceSoapBinding didefinisikan dengan SOAP sebagai protokol binding, menentukan detail tentang format pesan dan transport.

Port port

Bagian port menentukan alamat jaringan tempat layanan web dapat diakses.

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

Di sini, WeatherService didefinisikan dengan WeatherServicePort yang menggunakan binding SOAP, dan alamatnya ditentukan sebagai http://example.com/weather/service.

Contoh Berkas WSDL

Contoh Berkas WSDL Layanan Web Cuaca Sederhana

Mengompilasi berbagai potongan kode komponen kunci yang disediakan di bagian sebelumnya, kita dapat menggabungkannya dan membuat berkas WSDL layanan web cuaca sederhana.

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

Dalam contoh layanan web cuaca sederhana ini, dapat diamati bahwa:

Contoh Berkas WSDL Layanan Web E-Commerce Kompleks

Berikut adalah contoh berkas WSDL layanan web e-commerce yang lebih rumit yang mencakup beberapa operasi, tipe data, dan fitur.

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

Dalam contoh layanan web e-commerce yang kompleks ini, dapat diamati bahwa:

Mengedit Berkas WSDL Menggunakan Apidog

Karena berkas WSDL relatif umum di dunia pengembangan perangkat lunak, Anda mungkin harus mengedit atau membuatnya sendiri. Dengan banyak platform API di luar sana, Apidog adalah pilihan yang sangat baik.

Apidog memungkinkan pengembang, penyedia layanan web, dan pengguna layanan web dari berbagai latar belakang untuk membuat transisi yang mulus dari platform API lain ke Apidog.

Untungnya, Apidog juga mencakup impor berkas WSDL! Jika Anda tertarik untuk mencobanya, pastikan untuk mengunduh Apidog menggunakan tombol di bawah ini.

button

Jangan lupa untuk masuk dan memulai proyek baru setelah Anda masuk. Jika Anda membutuhkan bantuan, lihat Dokumen Bantuan Apidog.

Mengimpor API SOAP Anda ke Apidog dari Berkas WSDL

import wsdl file soap api apidog
Mengimpor berkas WSDL ke Apidog

Setelah Anda membuka proyek baru, klik tombol "Pengaturan" pada toolbar vertikal yang terletak di sisi kiri jendela Apidog. Kemudian, klik Panah 2 dan Panah 3 dalam urutan itu.

Menguji API SOAP dengan Mudah di Apidog

Mengedit berkas WSDL menggunakan Apidog

Jika Anda berhasil mengimpor berkas WSDL, Anda akan melihat namanya di sisi kiri layar, seperti yang ditunjukkan di sekitar Panah 1.

Untuk mulai mengedit berkas WSDL, klik Panah 2 hingga 4 dalam urutan menaik, dan Anda siap melakukannya!

Kesimpulan

Dengan berkas WSDL berdasarkan XML (eXtensible Markup Language), sedikit lebih mudah untuk dipahami. Berkas WSDL dapat bervariasi dalam kompleksitas tergantung pada seberapa spesifik deskripsi dan fungsionalitas layanan web.

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.