Générer Mock Service avec SOAP UI

Souvent, les clients nous offrent des webservices afin d’utiliser certains de leurs services.

Pendant nos temps de développement, il se peut que ces webservices ne soient pas encore publiés pour le grand public, mais le client a juste donné le fichier wsdl afin de voir l’aperçu du service.

Afin de ne pas bloquer le développement, il faut générer des mocks (ou aussi réponses prédéfinies).

Cet article va être orienté sur la création des « mock response » en utilisant l’outil SOAP UI.

Démarche

  1. Avant toute chose, il nous faut d’abord importer le WSDL dans SOAP UI (File > New SOAP Project)
  2. Clique-droit sur le service (celui avec les 2 flèches en vert, celui sélectionné sur la figure 1) et choisir « Generate SOAP Mock Service ». Par défaut, ce mock utilise le port 8088, mais cela est modifiable. Ensuite validez.

Figure 1 : Le projet importé

  1. Le « MockService Editor » apparaît en cliquant 2 fois sur le mock généré (ici recipientMethodsSoap MockService, cf. figure 2) ou avec clique droit sur ce mock et choisir « show MockService Editor ». C’est avec cette fenêtre que nous allons configurer le mock. Passons d’abord à la configuration du mockService.

Figure 2 : MockService généré

La figure 3 représente la fenêtre du « MockService Editor ».

Figure 3 : MockService Editor

  • Cliquez sur l’icône « paramètre » (le 4ème bouton au coin supérieur gauche du mockService Editor)
  • Changez l’hôte sur 127.0.0.1 et validez

Figure 4 : Configuration du MockService

  • La configuration faite, cliquer sur l’icône « play » (le 1er bouton au coin supérieur gauche du mockService Editor) pour démarrer le mock.
  1. A ce stade, le mock est démarré.

Personnaliser les réponses

Nous pouvons modifier les réponses du webservice en fonction de notre attente.

Pour ce faire, il faut :

  • Ouvrir le mockService Editor
  • Double-cliquez sur le service à personnaliser pour afficher le « MockOperations Editor» (cf. figure 5) dans lequel  nous pouvons voir la liste des réponses disponibles dans le mock. Il est possible d’en ajouter d’autres et même d’en effacer.

Figure 5 : MockOperations Editor du service hacRcu

  • Double-cliquez sur la réponse à modifier
  • Personnalisez la réponse comme voulu et fermer

Tester le mock service

Afin de tester le mock, il faut :

  • Cliquez sur le 3ème bouton au coin supérieur gauche du mockService Editor pour ouvrir le wsdl du mock dans un navigateur et récupérer son endpoint (l’url du wsdl).
  • Clique droit sur le service mère (celui sélectionné sur la figure 1) et cliquez sur « Show Interface Viewer »
  • Aller dans l’onglet « service endpoints » (cf. figure 6) et cliquez sur « Add a new endpoint to the list » (le bouton + en vert)
  • Figure 6 : Interface viewer

    Y coller l’url du wsdl que nous avons récupéré sur le navigateur mais sans le paramètre « ?wsdl »

  • Sélectionnez le nouveau endpoint que nous venons d’ajouter et cliquez sur « Assign »
  • Sélectionnez « All requests » sur la liste déroulante et validez.
  • Choisissez maintenant un service à tester et double-cliquez sur « Request 1 » (voir la partie sélectionnée sur la figure 7)

Figure 7 : Tester le mock service

  • En cliquant sur l’icône « play » de la nouvelle fenêtre, nous avons les réponses générées par le mockService.

Pour utiliser le service « mocké » dans notre application, il faut consommer le webservice à partir de l’endpoint du mockService au lieu de celui fourni avec le wsdl par défaut.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.