SOA: Comment tester rapidement un WebService?

Il m’est arrivé récemment de chercher un outil pour tester un service web. Cherchant avant tout la rapidité et la gratuité et n’ayant pas le temps de développer moi-même une application à cette fin, je me suis rappelé d’un certain « soapUI » que j’avais eu l’occasion d’utiliser par le passé.
soapUI est un outil de test de WebService gratuit. Il permet d’inspecter, appeler, développer, réaliser des tests en charge/fonctionnels de services Web utilisant le protocole HTTP. Il apporte aussi des « plugins » pour les EDI les plus répandus du marché : eclipse, IntelliJ IDEA, NetBeans, etc.
Voici quelques unes de ses options :

Inspection de web services :

  • Permet de visualiser les WSDL qui sont importés
  • Support de SOAP 1.1 et SOAP 1.2

Invocation de web services :

  • Génération automatique des messages requêtes
  • Supporte authentification Basic, Digest, WS-Security et NTLM
  • Gestion des entêtes HTTP pour chaque opération.

Développement et validation de web services

  • Génération de code serveur et client pour les API les plus populaires : JBossWS, JWSDP, Axis 1 et 2, etc.
  • Valider la définition et les messages du web service contre le « WS-I Basic Profile »
  • Valider les requêtes et réponses contre leur schéma de définition.

Tests fonctionnels de web services

  • Création de TestSuites/TestCases
  • Utilisation de scripts « Groovy » pour l’exécution de tests arbitraires ou selon les réponses.

Test en charge :

  • Création de tests en charge pour les TestCases
  • Analyse de performance pour des scénarios variés.
  • Diagrammes de comportement qui permettent l’analyse en temps réel des statistiques d’exécution
Pour voir la liste complète : http://www.soapui.org/features.html
Pour tester rapidement un service web sans écrire tout un programme, vous pouvez vous le procurez sur : http://www.soapui.org/.
Il existe également une version payante appelée « soapUI Pro » qui propose certaines fonctionnalités permettant d’augmenter la productivité (accomplissement de  taches récurrentes avec soapUI). Pour un tableau des options de cette version : http://www.soapui.org/comparison.html
Pavel Blanco
Ingénieur de développement Oosphère