SoapUI Mock Servis: Kurulum Rehberi ve Modern Alternatif

INEZA Felin-Michel

INEZA Felin-Michel

20 April 2026

SoapUI Mock Servis: Kurulum Rehberi ve Modern Alternatif

Kurumsal Apidog

Şirket İçi Dağıtım

SSO & RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfet

TL;DR

SoapUI sahte hizmetleri, SOAP veya REST uç noktalarını yerel olarak simüle eder ancak çalışan bir Java süreci, manuel dağıtım yapılandırması gerektirir ve paylaşılan bir makine olmadan bir ekip arasında paylaşılamaz. Apidog'un Akıllı Sahtesi (Smart Mock), API şemanızdan sahte yanıtlar üretir, bulutta çalışır ve ekibinizle otomatik olarak paylaşılır.

💡
Apidog, yerel bir Java süreci çalıştırmadan API tanımlarınızdan anında sahte uç noktalar oluşturan yerleşik Akıllı Sahte (Smart Mock) özelliğine sahip ücretsiz, hepsi bir arada bir API geliştirme platformudur. Apidog'u ücretsiz deneyin, kredi kartı gerekmez.
düğme

Giriş

Sahte hizmetler (mock services), API geliştirmede yaygın bir sorunu çözer: istemci kodunuzun bir hizmeti, hizmet hazır olmadan önce nasıl işlediğini test etmek istersiniz ya da gerçek bir sistemde hata veya yavaş yanıtlar gibi uç durumları tetiklemeden test etmek istersiniz.

SoapUI'nin sahte hizmet özelliği ilk sürümlerden beri mevcuttur ve çalışır. Yapılandırdığınız kurallara göre isteklere yanıt veren yerel bir HTTP sunucusu çalıştırır. Sorun şu ki, bu yerel süreç sürtünme yaratır: SoapUI'yi kapattığınızda ölür, diğer ekip üyeleri ağ hileleri olmadan ona erişemez ve yapılandırma arayüzü hantaldır.

Bu kılavuz, SoapUI sahte hizmetlerinin nasıl çalıştığını, nasıl kurulacağını, ekiplerin karşılaştığı yaygın sorunları ve Apidog yaklaşımının nasıl karşılaştırıldığını ele almaktadır.

SoapUI Sahte Hizmetleri Nasıl Çalışır?

SoapUI, projenizdeki mevcut SOAP veya REST arayüzlerinden sahte hizmetler oluşturur. Sahte hizmet:

  1. Yapılandırdığınız yerel bir portu dinler (örneğin, http://localhost:8088/MockService)
  2. Gelen istekleri yakalar
  3. İsteği, dağıtım mantığı kullanarak bir "sahte yanıtla" eşleştirir
  4. Yapılandırılan yanıtı döndürür

SOAP hizmetleri için SoapUI, WSDL'nizden sahte yanıtları otomatik olarak oluşturabilir ve her işlem için taslak yanıtlar (stub responses) yaratabilir. Bu, bir hizmet henüz mevcut değilken veya gerçek uç noktaya erişiminiz yokken bir hizmeti simüle etmek için kullanışlıdır.

SoapUI Sahte Hizmeti Kurulumu (adım adım)

Bir SOAP Arayüzü İçin

  1. SoapUI projenizde, proje ağacındaki bir SOAP arayüzüne sağ tıklayın.
  2. “Generate MockService” (Sahte Hizmet Oluştur) seçeneğini seçin.
  3. Açılan iletişim kutusunda şunları yapılandırın:
  1. Tamam'a tıklayın. SoapUI projenizin ağacında bir MockService düğümü oluşturur.
  2. MockService düğümünü genişletin. Arayüzdeki her SOAP işlemi için bir “MockOperation” göreceksiniz.
  3. Sahte yanıt düzenleyicisini açmak için bir MockOperation'a çift tıklayın.
  4. Simüle etmek istediğiniz değerleri döndürmek için SOAP yanıt XML'ini düzenleyin.
  5. Yerel sunucuyu başlatmak için MockService düzenleyicisindeki yeşil oynatma düğmesine tıklayın.

Sahte hizmetiniz artık http://localhost:8088/orders adresinde çalışıyor. İstemci kodunuzu bu URL'ye yönlendirin.

Bir REST Arayüzü İçin

  1. Proje ağacındaki bir REST arayüzüne veya kaynağına sağ tıklayın.
  2. “Add to MockService” (Sahte Hizmete Ekle) veya “Generate MockService” (Sahte Hizmet Oluştur) seçeneğini seçin.
  3. Yukarıdaki gibi port ve yolu yapılandırın.
  4. Her kaynak/metot için sahte yanıt gövdesini ve durum kodunu yapılandırın.
  5. Sahte hizmeti başlatın.

Dağıtımı Yapılandırma

Varsayılan olarak, SoapUI'nin sahte hizmeti bulduğu ilk sahte yanıtı döndürür. Farklı girişler için farklı yanıtlar istiyorsanız, bir "dağıtım betiği" (Groovy) yapılandırın veya "SEQUENCE" dağıtım türünü kullanın.

Sıralı dağıtım (Sequence dispatch): Ardışık çağrılarda yanıtları sabit bir sırayla döndürür. Çağrı 1, yanıt A'yı alır; çağrı 2, yanıt B'yi alır.

BETİK dağıtım (SCRIPT dispatch): Bir Groovy betiği, isteği inceler ve mantığa dayalı olarak bir yanıt adı döndürür.

Örnek dağıtım betiği:

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

Birden fazla adlandırılmış sahte yanıt (örneğin, "OrderFoundResponse", "OrderNotFoundResponse") oluşturursunuz ve dağıtım betiği, gelen istek içeriğine göre hangisini döndüreceğini seçer.

Yaygın SoapUI Sahte Hizmet Sorunları

Sorun 1: SoapUI Kapandığında Sahte Hizmet Durur

SoapUI'nin sahte hizmeti, SoapUI JVM sürecinin bir parçası olarak çalışır. SoapUI'yi kapattığınızda, sahte hizmet durur. Sahte hizmeti kullanan ekip arkadaşları erişimini kaybeder.

Geçici çözümler:

Bunların hiçbiri zarif değildir. Komut satırı seçeneği yardımcı olur, ancak yine de SoapUI ve Java kurulu bir makine gerektirir.

Sorun 2: Sahte Hizmeti Ekip Genelinde Paylaşma

localhost:8088 üzerindeki bir sahte hizmete yalnızca onu çalıştıran kişi erişebilir. Ekip arkadaşlarının aynı sahte hizmete erişebilmesi için o makineye ağ erişimi (güvenlik duvarı kuralları, VPN kurulumu) veya sahte hizmeti paylaşılan bir sunucuda çalıştırmanız gerekir.

Sorun 3: Karmaşık XML ile Dağıtım Betikleri Bozulur

SoapUI dağıtım betikleri, ham XML gövdesinde Groovy dize eşleştirmesi kullanır. SOAP zarfları ad alanlarına sahiptir ve aynı mantıksal değer, istemciye bağlı olarak farklı ad alanı önekleriyle görünebilir. <orderId>12345</orderId> gibi değişmez dizeleri arayan betikler, önek farklı olduğunda bozulur.

Düzeltme, dağıtım betiğinde SoapUI’nin GroovyUtils sınıfını kullanarak uygun XML ayrıştırması gerektirir, bu da karmaşıklığı artırır.

Sorun 4: Durum Çağrılar Arasında Kalıcı Değildir

SoapUI sahte hizmetleri varsayılan olarak durumsuzdur (stateless). Bir oluşturma-sonra-okuma iş akışını (oluşturmak için POST, almak için GET) taklit etmek isterseniz, durumu paylaşılan bir değişkende saklayan bir Groovy dağıtım betiğine ihtiyacınız vardır. Bu çalışır ancak kırılgandır.

Sorun 5: Sahte Hizmetler İçin SSL

Bir SoapUI sahte hizmeti için HTTPS yapılandırmak, bir anahtar deposu kurmayı, SoapUI'nin SSL ayarlarını yapılandırmayı ve istemcileri doğru sertifikaya yönlendirmeyi gerektirir. Bu, yalnızca HTTP kullanan sahte hizmetlerden önemli ölçüde daha karmaşıktır.

Apidog Akıllı Sahtesi: Karşılaştırma

Apidog'un sahte hizmet yaklaşımı, çalışan bir süreçten değil, API tasarımından başlar.

Apidog'da bir API uç noktası (metot, yol, istek şeması, yanıt şeması) tanımladığınızda, Apidog bulutta otomatik olarak bir sahte uç nokta oluşturur. Yapılandırma gerekmez.

Sahte URL şöyle görünür: https://{proje-adınız}.mock.apidog.io/orders/{id}

Bu URL:

Apidog Sahte Yanıtları Nasıl Oluşturur?

Apidog, yanıt şemanızı (JSON Schema veya OpenAPI yanıt tanımı) okur ve gerçekçi sahte veriler üretir. orderId'nin UUID biçiminde bir string olduğunu belirten bir şema, rastgele bir UUID döndürür. amount'ın 0 ile 10000 arasında bir number olduğunu belirten bir şema, bu aralıkta bir sayı döndürür.

Belirli alanlar için özel sahte kurallar da yapılandırabilirsiniz. Tahmin edilebilir bir değere ihtiyacınız olduğunda orderId'yi her zaman "test-123" döndürecek şekilde ayarlayın.

Apidog Sahte Hizmetinde SOAP Uç Noktaları

Apidog'un Akıllı Sahte (Smart Mock) hizmeti, JSON yanıtları olan REST uç noktaları için tasarlanmıştır. SOAP uç noktaları için sahte hizmet kurulumu manueldir: Apidog'da bir istek oluşturur, bir SOAP zarfı ile özel bir yanıt yapılandırır ve bunu döndürmek için Apidog'un sahte sunucusunu kullanırsınız.

Bu, SoapUI'nin WSDL tabanlı sahte hizmet oluşturmasından daha az otomatiktir, ancak yerel bir Java süreci çalıştırmadan basit bir SOAP sahte hizmetine ihtiyaç duyan ekipler için işe yarar.

Durumlu Sahte Hizmet (Stateful Mocking)

Apidog, durumlu sahte hizmet davranışı için özel yanıt betiklerini destekler. Bir JavaScript sahte betiğinde istek gövdesini inceleyebilir ve SoapUI'nin dağıtım betiklerine benzer şekilde, ancak JavaScript'te istek içeriğine göre farklı yanıtlar döndürebilirsiniz.

Yan Yana Karşılaştırma

Özellik SoapUI Sahte Hizmeti Apidog Akıllı Sahte Hizmeti
Java Gerektirir Evet Hayır
Her Zaman Açık Yalnızca komut satırı çalıştırıcı ile Evet (bulut)
Ekip Erişimi Manuel ağ kurulumu Evet, paylaşılan URL aracılığıyla
WSDL Otomatik Oluşturma Evet Hayır
REST Şema Tabanlı Hayır Evet
Dinamik Yanıtlar Groovy dağıtım JavaScript sahte betikleri
HTTPS Desteği Manuel anahtar deposu kurulumu Yerleşik
Durumlu Sahte Hizmet Groovy değişkenleri aracılığıyla JavaScript betikleri aracılığıyla
Ücretsiz Evet Evet

Ne Zaman Hangisini Kullanmalı?

SoapUI sahte hizmetlerini şu durumlarda kullanın:

Apidog Akıllı Sahte Hizmeti'ni şu durumlarda kullanın:

SSS

SoapUI sahte hizmetlerini başsız (GUI olmadan) çalıştırabilir miyim?Evet. SoapUI, mockservicerunner.sh (Linux/macOS) ve mockservicerunner.bat (Windows) içerir. Bunları proje dosya yolu ve hizmet adıyla çalıştırın. Hala Java'nın yüklü olması gerekir, ancak GUI'nin açık olmasına gerek yoktur.

Apidog SOAP sahte hizmetlerini destekliyor mu?Kısmen. Apidog'un sahte sunucusunda SOAP XML ile özel yanıtlar yapılandırabilirsiniz. WSDL tabanlı otomatik taslak yanıt oluşturma özelliği yoktur. İyi anlaşılmış SOAP arayüzleri olan ekipler için manuel kurulum yönetilebilir.

SoapUI sahte hizmetleri yavaş yanıtları simüle edebilir mi?Evet. Sahte yanıt yapılandırmasında, milisaniye cinsinden bir “Gecikme” (Delay) değeri ayarlayın. Apidog ayrıca yavaş ağ koşullarını simüle etmek için yanıt gecikmesi yapılandırmasını da destekler.

Apidog kaç sahte isteği işleyebilir?Apidog'un bulut sahte sunucusu, tipik geliştirme ve test yüklerini işler. Yüksek hacimli performans testi için özel bir sahte sunucu aracı daha uygun olabilir.

İki ekip üyesi aynı uç nokta için farklı sahte yanıtlara ihtiyaç duyarsa ne olur?SoapUI'de her kişi kendi yerel sahte hizmetini çalıştırır ve bunu bağımsız olarak yapılandırabilir. Apidog'da, farklı yanıt senaryolarını seçmek için birden fazla ortam oluşturabilir veya sorgu parametreleri kullanabilirsiniz. Apidog'un "Mock expects" özelliği, belirli istek koşullarını belirli yanıtlarla eşleştirmenize olanak tanır.

Apidog'un sahte hizmeti, API'nin önce tamamen tanımlanmasını gerektiriyor mu?Bir yanıt şeması, Apidog'un gerçekçi veriler oluşturmasına yardımcı olur, ancak tam bir şema olmadan manuel sahte yanıtlar oluşturabilirsiniz. Uç noktayı tanımlayın, özel bir yanıt gövdesi ayarlayın ve sahte hizmet çalışır.

SoapUI’nin sahte hizmeti işlevseldir ancak yerel bir Java sürecine bağlıdır. Kalıcı, paylaşılan sahte hizmetlere ihtiyaç duyan modern ekipler için Apidog'un bulut tabanlı yaklaşımı koordinasyon yükünü ortadan kaldırır.

düğme

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

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