En bref
Les services de maquette (mock services) de SoapUI simulent localement des points de terminaison SOAP ou REST, mais nécessitent un processus Java actif, une configuration manuelle de la répartition (dispatch), et ne sont pas facilement partageables sans une machine dédiée. La Maquette Intelligente (Smart Mock) d'Apidog génère des réponses de maquette à partir de votre schéma d'API, fonctionne dans le cloud, et se partage automatiquement avec votre équipe.
💡 Apidog est une plateforme de développement d'API tout-en-un et gratuite, dotée d'une Maquette Intelligente intégrée qui crée des points de terminaison de maquette instantanés à partir de vos définitions d'API sans nécessiter l'exécution d'un processus Java local. Essayez Apidog gratuitement, aucune carte de crédit requise.
Introduction
Les services de maquette (mock services) sont indispensables pour tester le comportement client d'une API avant que le service réel ne soit disponible, ou pour simuler des cas limites (erreurs, délais) sans impacter un environnement de production.
SoapUI propose des mock services depuis ses débuts : un serveur HTTP local répond selon les règles définies. Cependant, ce mode de fonctionnement pose plusieurs limitations : arrêt dès la fermeture de SoapUI, accès limité à la machine locale, configuration fastidieuse.
Ce guide explique comment utiliser les services de maquette de SoapUI de façon opérationnelle, détaille les problèmes fréquents, puis montre comment la Maquette Intelligente d’Apidog automatise et simplifie ces étapes.
Fonctionnement des services de maquette de SoapUI
SoapUI génère des services de maquette à partir de vos interfaces SOAP ou REST existantes :
- Écoute sur un port local configuré (ex :
http://localhost:8088/MockService) - Intercepte les requĂŞtes entrantes
- Fait correspondre la requête à une réponse de maquette via la logique de répartition (dispatch)
- Renvoie la réponse configurée
Pour SOAP, SoapUI génère automatiquement des réponses de stub à partir du WSDL — utile pour simuler un service en pré-production.
Configuration d'un service de maquette SoapUI (étape par étape)
Pour une interface SOAP
- Clic droit sur une interface SOAP dans l’arborescence du projet SoapUI.
- Sélectionnez « Générer un MockService ».
- Dans la boîte de dialogue, configurez :
- Nom du service (ex : « Maquette OrderService »)
- Numéro de port (par défaut 8088)
- Chemin (ex :
/orders)
- Cliquez sur OK. Un nœud MockService est créé dans le projet.
- Développez ce nœud : une MockOperation est générée pour chaque opération SOAP.
- Double-cliquez sur une MockOperation pour éditer la réponse de maquette.
- Modifiez le XML de la réponse selon vos besoins.
- Cliquez sur le bouton de lecture vert pour démarrer le serveur local.
Votre maquette écoute maintenant sur http://localhost:8088/orders. Configurez votre client pour pointer vers cette URL.
Pour une interface REST
- Clic droit sur une interface ou une ressource REST.
- Sélectionnez « Ajouter au MockService » ou « Générer un MockService ».
- Configurez le port et le chemin.
- Pour chaque ressource/méthode, définissez le corps de la réponse et le code de statut.
- Démarrez le service de maquette.
Configuration de la répartition (dispatch)
Par défaut, SoapUI renvoie la première réponse trouvée. Pour des réponses conditionnelles :
- Utilisez le dispatch de type
SEQUENCE(retourne les réponses dans l’ordre des appels). - Pour une logique personnalisée, utilisez un script Groovy (dispatch type
SCRIPT).
Exemple de script de répartition :
def request = mockRequest.getRequestContent()
if (request.contains("orderId>12345")) {
return "OrderFoundResponse"
} else {
return "OrderNotFoundResponse"
}
Créez plusieurs réponses nommées (« OrderFoundResponse », « OrderNotFoundResponse ») et laissez le script choisir la réponse selon la requête.
Problèmes courants des services de maquette SoapUI
Problème 1 : La maquette s’arrête quand SoapUI se ferme
Le mock service fonctionne dans la JVM de SoapUI. À la fermeture, la maquette s’arrête : vos collègues perdent l’accès.
Contournements :
- Gardez SoapUI ouvert sur une machine/VM dédiée
- Utilisez l’exécuteur en ligne de commande :
mockservicerunner.sh -p 8088 -s "OrderService Mock" project.xml
- Machine partagée persistante avec SoapUI actif
Ces solutions nécessitent Java et une supervision manuelle.
Problème 2 : Partage en équipe
Un service sur localhost:8088 n’est accessible qu’en local. Pour un partage, il faut configurer l’accès réseau (pare-feu, VPN) ou déployer sur un serveur partagé.
Problème 3 : Scripts de dispatch fragiles avec XML complexe
Les scripts de répartition utilisent la recherche de chaînes Groovy sur le XML brut. Les espaces de noms différents (<ns:orderId>) rendent la logique fragile. Pour une robustesse accrue, il faut parser le XML avec GroovyUtils, ce qui complexifie les scripts.
Problème 4 : Pas d’état persistant
Par défaut, SoapUI est sans état. Pour simuler un workflow (POST/GET), il faut stocker l’état en variable partagée via Groovy, solution fragile.
Problème 5 : SSL complexe
Configurer HTTPS : keystore, paramètres SSL dans SoapUI, gestion des certificats côté client. La configuration est manuelle et fastidieuse.
Maquette Intelligente Apidog : comparaison
L’approche Apidog est basée sur la conception API, non sur un processus local.
- Définissez simplement votre endpoint (méthode, chemin, schéma de requête/réponse)
- Apidog génère instantanément une URL cloud :
https://{votre-projet}.mock.apidog.io/orders/{id}
- Aucun processus local à démarrer/arrêter
- Accessible à toute l’équipe, sans configuration réseau
- Réponses générées à partir du schéma défini
Essayez Apidog gratuitement pour bénéficier d'une maquette cloud partagée.
Génération des réponses de maquette
Apidog lit votre schéma (JSON/OpenAPI) et génère automatiquement des valeurs réalistes.
Exemples :
-
orderIdde typestringformat UUID ➔ UUID aléatoire -
amountde typenumbermin 0, max 10000 ➔ valeur aléatoire dans la plage
Vous pouvez personnaliser les champs statiques : forcer orderId à "test-123" pour des tests prévisibles.
Points de terminaison SOAP
La Maquette Intelligente d’Apidog vise surtout REST/JSON. Pour des endpoints SOAP, créez une requête, configurez une réponse personnalisée XML (enveloppe SOAP), et le serveur de maquette Apidog la servira. Ce n’est pas automatisé comme le WSDL de SoapUI, mais permet de simuler du SOAP sans Java.
Maquette avec état
Apidog prend en charge les scripts de réponse personnalisés en JavaScript. Vous inspectez la requête et retournez une réponse selon la logique métier : comportement équivalent aux scripts de dispatch Groovy, mais en JS.
Comparaison cĂ´te Ă cĂ´te
| Caractéristique | Maquette SoapUI | Maquette Intelligente Apidog |
|---|---|---|
| Nécessite Java | Oui | Non |
| Toujours actif | Uniquement avec l'exécuteur en ligne de commande | Oui (cloud) |
| Accessible par l'équipe | Mise en réseau manuelle | Oui, via URL partagée |
| Auto-génération WSDL | Oui | Non |
| Basé sur le schéma REST | Non | Oui |
| Réponses dynamiques | Répartition Groovy | Scripts de maquette JavaScript |
| Prise en charge HTTPS | Configuration manuelle du keystore | Intégré |
| Maquette avec état | Via variables Groovy | Via scripts JavaScript |
| Gratuit | Oui | Oui |
Quand utiliser l'un ou l'autre
Préférez SoapUI si :
- Vous simulez un service SOAP basé sur WSDL et voulez des stubs auto-générés
- L’équipe travaille hors ligne ou derrière des restrictions réseau strictes
- Votre workflow est déjà centré sur SoapUI
Préférez la Maquette Intelligente Apidog si :
- Vous simulez du REST et avez besoin d’un accès partagé sans configuration réseau
- Vous souhaitez des maquettes actives en permanence sans intervention manuelle
- Vous définissez l’API en amont du développement
- Vous souhaitez éviter l’installation Java/SoapUI pour la maquette
FAQ
Puis-je exécuter les services de maquette SoapUI en mode headless ?
Oui : utilisez mockservicerunner.sh (Linux/macOS) ou mockservicerunner.bat (Windows) avec votre fichier projet et le nom du service. Java reste nécessaire ; pas d’interface graphique.
Apidog permet-il de maquetter du SOAP ?
Partiellement. Créez une réponse personnalisée XML/SOAP dans le serveur de maquette Apidog. Pas d’auto-génération WSDL/stub, mais la configuration manuelle reste simple pour des besoins basiques.
SoapUI peut-il simuler des réponses lentes ?
Oui. Dans la réponse de maquette, définissez le délai en millisecondes. Apidog permet aussi de configurer le délai de réponse pour simuler un réseau lent.
Combien de requêtes de maquette Apidog peut-il gérer ?
Le serveur de maquette cloud d’Apidog gère la plupart des charges de développement/test. Pour un test de performance massif, privilégiez un serveur de maquette dédié.
Deux membres d’équipe peuvent-ils avoir des réponses différentes pour le même endpoint ?
Avec SoapUI, chacun lance sa maquette locale et la configure à sa guise. Dans Apidog, créez plusieurs environnements ou utilisez des paramètres de requête pour différencier les scénarios : la fonctionnalité « Mock expects » permet d’associer conditions de requête et réponses spécifiques.
Faut-il définir tout le schéma API pour utiliser la maquette Apidog ?
Un schéma de réponse améliore la génération automatique, mais il est possible de créer des réponses manuelles sans schéma complet. Définissez le endpoint, spécifiez le corps de réponse : la maquette est prête.
Le service de maquette SoapUI reste fonctionnel mais lié à un processus Java local. Pour des besoins modernes de maquettes partagées, persistantes et cloud, Apidog offre une alternative sans la complexité du provisioning manuel.







