Layanan Mock SoapUI: Panduan Pengaturan dan Alternatif Modern

INEZA Felin-Michel

INEZA Felin-Michel

20 April 2026

Layanan Mock SoapUI: Panduan Pengaturan dan Alternatif Modern

Apidog untuk Perusahaan

Penerapan On-Premises

SSO & RBAC

Sesuai SOC 2

Jelajahi Apidog Enterprise

Intinya

Layanan mock SoapUI mensimulasikan titik akhir SOAP atau REST secara lokal, tetapi layanan ini memerlukan proses Java yang berjalan, konfigurasi pengiriman (dispatch) manual, dan tidak dapat dibagikan di seluruh tim tanpa mesin bersama. Smart Mock Apidog menghasilkan respons mock dari skema API Anda, berjalan di cloud, dan berbagi secara otomatis dengan tim Anda.

šŸ’”
Apidog adalah platform pengembangan API all-in-one gratis dengan Smart Mock bawaan yang menciptakan titik akhir mock instan dari definisi API Anda tanpa menjalankan proses Java lokal. Coba Apidog gratis, tanpa perlu kartu kredit.
button

Pendahuluan

Layanan mock memecahkan masalah umum dalam pengembangan API: Anda ingin menguji bagaimana kode klien Anda menangani layanan sebelum layanan tersebut siap, atau Anda ingin menguji kasus tepi (kesalahan, respons lambat) tanpa menyebabkannya dalam sistem nyata.

Fitur layanan mock SoapUI telah tersedia sejak versi awal dan berfungsi. Fitur ini menjalankan server HTTP lokal yang menanggapi permintaan sesuai aturan yang Anda konfigurasikan. Masalahnya adalah bahwa proses lokal ini menciptakan gesekan: proses ini mati saat Anda menutup SoapUI, anggota tim lain tidak dapat mengaksesnya tanpa trik jaringan, dan antarmuka konfigurasinya merepotkan.

Panduan ini mencakup cara kerja layanan mock SoapUI, cara mengaturnya, masalah umum yang dihadapi tim, dan bagaimana pendekatan Apidog membandingkannya.

Cara kerja layanan mock SoapUI

SoapUI membuat layanan mock dari antarmuka SOAP atau REST yang ada di proyek Anda. Layanan mock:

  1. Mendengarkan di port lokal yang Anda konfigurasikan (misalnya, http://localhost:8088/MockService)
  2. Mencegat permintaan masuk
  3. Mencocokkan permintaan dengan "respons mock" menggunakan logika pengiriman (dispatch)
  4. Mengembalikan respons yang dikonfigurasi

Untuk layanan SOAP, SoapUI dapat secara otomatis menghasilkan respons mock dari WSDL Anda, membuat respons stub untuk setiap operasi. Ini berguna untuk mensimulasikan layanan sebelum layanan itu ada atau sebelum Anda memiliki akses ke titik akhir nyata.

Menyiapkan layanan mock SoapUI (langkah demi langkah)

Untuk antarmuka SOAP

  1. Di proyek SoapUI Anda, klik kanan pada antarmuka SOAP di pohon proyek.
  2. Pilih "Generate MockService."
  3. Dalam dialog, konfigurasikan:
  1. Klik OK. SoapUI membuat node MockService di pohon proyek Anda.
  2. Luaskan node MockService. Anda akan melihat "MockOperation" untuk setiap operasi SOAP di antarmuka.
  3. Klik dua kali MockOperation untuk membuka editor respons mock.
  4. Edit XML respons SOAP untuk mengembalikan nilai yang ingin Anda simulasikan.
  5. Klik tombol putar hijau di editor MockService untuk memulai server lokal.

Mock Anda sekarang berjalan di http://localhost:8088/orders. Arahkan kode klien Anda ke URL ini.

Untuk antarmuka REST

  1. Klik kanan pada antarmuka atau sumber daya REST di pohon proyek.
  2. Pilih "Add to MockService" atau "Generate MockService."
  3. Konfigurasikan port dan jalur seperti di atas.
  4. Untuk setiap sumber daya/metode, konfigurasikan isi respons mock dan kode status.
  5. Mulai layanan mock.

Mengonfigurasi pengiriman (dispatch)

Secara default, layanan mock SoapUI mengembalikan respons mock pertama yang ditemukannya. Jika Anda ingin respons yang berbeda untuk masukan yang berbeda, konfigurasikan "skrip pengiriman (dispatch)" (Groovy) atau gunakan tipe pengiriman "SEQUENCE".

Pengiriman (dispatch) Berurutan: Mengembalikan respons dalam urutan tetap pada panggilan berturut-turut. Panggilan 1 mendapatkan respons A, panggilan 2 mendapatkan respons B.

Pengiriman (dispatch) SCRIPT: Skrip Groovy memeriksa permintaan dan mengembalikan nama respons berdasarkan logika.

Contoh skrip pengiriman (dispatch):

def request = mockRequest.getRequestContent()
if (request.contains("orderId>12345")) {
  return "OrderFoundResponse"
} else {
  return "OrderNotFoundResponse"
}

Anda membuat beberapa respons mock bernama (misalnya, "OrderFoundResponse," "OrderNotFoundResponse") dan skrip pengiriman (dispatch) memilih mana yang akan dikembalikan berdasarkan isi permintaan yang masuk.

Masalah Umum Layanan Mock SoapUI

Masalah 1: Mock Berhenti Saat SoapUI Ditutup

Layanan mock SoapUI berjalan sebagai bagian dari proses JVM SoapUI. Saat Anda menutup SoapUI, mock akan berhenti. Rekan tim yang menggunakan mock akan kehilangan akses.

Solusi Sementara:

Tidak ada yang elegan. Opsi baris perintah membantu, tetapi masih membutuhkan mesin dengan SoapUI dan Java terinstal.

Masalah 2: Berbagi Mock di Seluruh Tim

Mock di localhost:8088 hanya dapat diakses oleh orang yang menjalankannya. Agar rekan tim dapat mengakses mock yang sama, Anda memerlukan akses jaringan ke mesin tersebut (aturan firewall, pengaturan VPN) atau untuk menjalankan mock di server bersama.

Masalah 3: Skrip Pengiriman (Dispatch) Rusak dengan XML Kompleks

Skrip pengiriman (dispatch) SoapUI menggunakan pencocokan string Groovy pada isi XML mentah. Amplop SOAP memiliki namespace, dan nilai logis yang sama dapat muncul dengan awalan namespace yang berbeda tergantung pada klien. Skrip yang mencari string literal seperti <orderId>12345</orderId> rusak ketika awalan berbeda.

Perbaikan memerlukan parsing XML yang tepat dalam skrip pengiriman (dispatch) menggunakan kelas GroovyUtils SoapUI, yang meningkatkan kompleksitas.

Masalah 4: Status Tidak Bertahan Antara Panggilan

Layanan mock SoapUI tanpa status (stateless) secara default. Jika Anda ingin memock alur kerja buat-lalu-baca (POST untuk membuat, GET untuk mengambil), Anda memerlukan skrip pengiriman (dispatch) Groovy yang menyimpan status dalam variabel bersama. Ini berfungsi tetapi rapuh.

Masalah 5: SSL untuk Layanan Mock

Mengonfigurasi HTTPS untuk layanan mock SoapUI memerlukan penyiapan keystore, mengonfigurasi pengaturan SSL SoapUI, dan mengarahkan klien ke sertifikat yang benar. Ini jauh lebih rumit daripada mock khusus HTTP.

Smart Mock Apidog: Perbandingannya

Pendekatan mock Apidog dimulai dari desain API, bukan dari proses yang berjalan.

Saat Anda mendefinisikan titik akhir API di Apidog (metode, jalur, skema permintaan, skema respons), Apidog secara otomatis menghasilkan titik akhir mock di cloud. Tidak perlu konfigurasi.

URL mock terlihat seperti: https://{your-project}.mock.apidog.io/orders/{id}

URL ini:

Bagaimana Apidog Menghasilkan Respons Mock

Apidog membaca skema respons Anda (definisi respons JSON Schema atau OpenAPI) dan menghasilkan data palsu yang realistis. Skema yang mengatakan orderId adalah string dalam format UUID mengembalikan UUID acak. Skema yang mengatakan amount adalah number antara 0 dan 10000 mengembalikan angka dalam rentang tersebut.

Anda juga dapat mengonfigurasi aturan mock kustom untuk bidang tertentu. Atur orderId untuk selalu mengembalikan "test-123" saat Anda membutuhkan nilai yang dapat diprediksi.

Titik Akhir SOAP di Apidog Mock

Smart Mock Apidog dirancang untuk titik akhir REST dengan respons JSON. Untuk titik akhir SOAP, pengaturan mock bersifat manual: Anda membuat permintaan di Apidog, mengonfigurasi respons kustom dengan amplop SOAP, dan menggunakan server mock Apidog untuk mengembalikannya.

Ini kurang otomatis dibandingkan dengan pembuatan mock berbasis WSDL SoapUI, tetapi berfungsi untuk tim yang membutuhkan mock SOAP sederhana tanpa menjalankan proses Java lokal.

Mocking Berstatus (Stateful)

Apidog mendukung skrip respons kustom untuk perilaku mock berstatus. Anda dapat memeriksa isi permintaan dalam skrip mock JavaScript dan mengembalikan respons yang berbeda berdasarkan isi permintaan, mirip dengan skrip pengiriman (dispatch) SoapUI tetapi dalam JavaScript.

Perbandingan Berdampingan

Fitur Mock SoapUI Smart Mock Apidog
Membutuhkan Java Ya Tidak
Selalu Aktif Hanya dengan runner baris perintah Ya (cloud)
Dapat diakses tim Jaringan manual Ya, melalui URL bersama
Pembuatan otomatis WSDL Ya Tidak
Berbasis skema REST Tidak Ya
Respons dinamis Pengiriman (dispatch) Groovy Skrip mock JavaScript
Dukungan HTTPS Pengaturan keystore manual Bawaan
Mocking Berstatus Melalui variabel Groovy Melalui skrip JavaScript
Gratis Ya Ya

Kapan Menggunakan Masing-Masing

Gunakan layanan mock SoapUI ketika:

Gunakan Smart Mock Apidog ketika:

Pertanyaan Umum

Dapatkah saya menjalankan layanan mock SoapUI tanpa GUI (headlessly)?Ya. SoapUI menyertakan mockservicerunner.sh (Linux/macOS) dan mockservicerunner.bat (Windows). Jalankan dengan jalur file proyek dan nama layanan. Anda masih memerlukan Java terinstal, tetapi Anda tidak perlu membuka GUI.

Apakah Apidog mendukung layanan mock SOAP?Sebagian. Anda dapat mengonfigurasi respons kustom dengan SOAP XML di server mock Apidog. Anda tidak mendapatkan pembuatan otomatis respons stub berbasis WSDL. Untuk tim dengan antarmuka SOAP yang sudah dipahami dengan baik, pengaturan manual dapat dikelola.

Bisakah layanan mock SoapUI mensimulasikan respons lambat?Ya. Dalam konfigurasi respons mock, atur nilai "Penundaan" dalam milidetik. Apidog juga mendukung konfigurasi penundaan respons untuk mensimulasikan kondisi jaringan yang lambat.

Berapa banyak permintaan mock yang dapat ditangani Apidog?Server mock cloud Apidog menangani beban pengembangan dan pengujian yang umum. Untuk pengujian kinerja volume tinggi, alat server mock khusus mungkin lebih tepat.

Apa yang terjadi jika dua anggota tim membutuhkan respons mock yang berbeda untuk titik akhir yang sama?Di SoapUI, setiap orang menjalankan mock lokal mereka sendiri dan dapat mengonfigurasinya secara independen. Di Apidog, Anda dapat membuat beberapa lingkungan atau menggunakan parameter kueri untuk memilih skenario respons yang berbeda. Fitur "Mock expects" Apidog memungkinkan Anda mencocokkan kondisi permintaan tertentu dengan respons tertentu.

Apakah mock Apidog memerlukan API untuk didefinisikan sepenuhnya terlebih dahulu?Skema respons membantu Apidog menghasilkan data realistis, tetapi Anda dapat membuat respons mock manual tanpa skema lengkap. Definisikan titik akhir, atur isi respons kustom, dan mock akan berfungsi.

Layanan mock SoapUI fungsional tetapi terikat pada proses Java lokal. Untuk tim modern yang membutuhkan mock persisten yang dibagikan, pendekatan berbasis cloud Apidog menghilangkan biaya koordinasi.

button

Mengembangkan API dengan Apidog

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