Faire un Service Web "MOCK" avec WSO2

Me voila parti pour mon 300ième billet dans la configuration WSO2. Avec cet ESB tout se fait assez simplement, il suffit de lire un peu la documentation et de parcourir l'espace communautaire.

Un des besoins liés aux interfaces temps réel est de "bouchonner" ou MOCK permettant de découpler deux applications pendant les recettes ou encore pendant le développement.

Sur WSO2, la manipulation la plus simple est la suivante :

  1. Stocker une réponse type dans un fichier XML
  2. Faire une feuille de style XSL à partir de cette réponse
  3. Paramétrer une séquence pour transformer la requête dans une réponse type et la renvoyer au client.

Bon je ne vous ferait pas l'affront de vous expliquer comment on réalise la première étape... Passons à la deuxième.

Feuille de style

Il faut créer une feuille de style XSL à partir d'une réponse SOAP standard. Pour cela il faut ajouter les lignes suivantes au début

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" />
<xsl:template match="/">

Et à la fin du fichier celles-là :

</xsl:template>
</xsl:stylesheet>

Ensuite aller dans Service Bus > Local Entries

wso2001.png

Copier le contenu de la feuille de style wso2002.png

La séquence

Ensuite aller dans Service Bus > Sequences

wso2003.png

Cliquer sur "Add Sequence"

Ensuite Renseigner le nom de la séquence (ex. mock) puis cliquer sur "Add Child > Filter >In"

wso2004.png

Ajouter au noeud "In" puis cliquer sur "Child> Transform > XSLT"

wso2005.png

Dans la partie XSLT Mediator, cliquer sur "Configuration Registry"

wso2006.png

Sélectionner l'entrée précédemment enregistrée dans le registre

wso2007.png

Ajouter à la suite du workflow une property (In>Add Child > Core >Property ) avec les valeurs suivantes

wso2008.png

Ensuite ajouter un header (In>Add Child > Transform >Header )

wso2009.png

Renseigner les valeurs suivantes :

wso2010.png

Ajouter dans le workflow une étape Send ( il faut bien renvoyer le résultat )

wso2011.png

Ne rien renseigner dans cette partie

wso2012.png

Enfin ajouter l'étape Out

wso2013.png

Cliquer sur "'Enregistrer"

Le proxy de service web

A cette étape, nous pouvons soit modifier un service web existant pour assigner notre séquence fraîchement crée, soit crée une nouvelle qui ne servira qu'à ça. Dans notre cas, j'aborderai la deuxième possibilité ( de toute façon, ce sont les mêmes écrans ...)

Cliquer sur WebServices > Add > Proxy Service wso2014.png

Cliquer sur Custom Proxy puis renseigner le nom du service

wso2015.png

Cliquer sur "Next".

Assigner la séquence

wso2016.png

Cliquer Sur "Next" Puis "Finish"

Maintenant il ne reste plus qu'à tester avec SOAPUI ou tout autre client SOAP.

Vus : 1441
Publié par Littlewing : 368