Appels aux SW

Voici quelques illustrations d'appels au SW.


Plusieurs techniques sont illustrées:

  • en Diva : programmation en langage Diva. Nécessite Harmony SDK et des compétences en développement Diva
  • en PostMan : outil permettant de manipuler des appels services web et API depuis une interface graphique
  • en Powershell : langage de script Microsoft Windows


Postman

Installation et utilisation

L'installation et l'utilisation de l'outil Postman n'est pas indiquée dans ce document.

Ces deux étapes sont assez simples, et ne nécessite pas d'inscription


Création des Request 

Pour faire fonctionner les exemples, il s'agit, une fois l'outil prêt, de créer une nouvelle REQUEST pour chaque exemple.

Les éléments communs à ces Request sont :

  • créer une Request de type POST
  • d'indiquer l'URL du service web a interroger (SOAP ou REST)

  • Onglet Params : vide

  • Onglet Auth : sur NoAuth

  • Onglet Headers : Ajouter une ligne avec les valeurs : Content-Type = application/json

  • Onglet Body : doit être de type RAW (et JSON ou XML selon l'usage attendu)


Les exemples qui suivent concernent  ensuite uniquement le contenu de l'onglet BODY qui est le corps du message.


Formattage des balises 

La plupart des services web métier attendent des paramètres au format XML et/ou HMP, qui utilisent toux deux les caractères '<' (inférieur) et '>' (supérieur) pour indiquer les balises.

Ces caractères sont en conflit avec le mode de transport SOAP. Il est donc nécessaire de changer la manière d'envoyer ces caractères.


Deux solutions sont proposées:

  • Remplacer les caractère par leur 'mot clé' a chacun de leur occurrence:
    • <  devient  &lt;
    • >  devient  &gt;
  • Entourer l'ensemble de la chaîne par un marqueur :  <![CDATA[      chaine...    ]]>      


Exemple : ce qu'on voudrait envoyer

            <action><action>SYNCHRO_INFINITY_AGILEO></action>
            <param>
             <dem>
                <action dos="998" nom="INTERROGER_STOCK" >
                    <ref>ALB0001</ref>
                    <depot>*</depot>
                </action>
             </dem>
            </param>  


Exemple : ce qu'on peut envoyer en remplaçant chaque occurrence par son mot clé

            <action>&lt;action&gt;SYNCHRO_INFINITY_AGILEO</action>
            <param>
&lt;dem&gt;
&lt;action dos="998" nom="INTERROGER_STOCK"&gt;
    &lt;ref&gt;ALB0001&lt;/ref&gt;
    &lt;depot&gt;*&lt;/depot&gt;
&lt;/action&gt;
&lt;/dem&gt;
            </param>


Exemple : ce qu'on peut envoyer en ajoutant un marqueur

            <action><![CDATA[<action>SYNCHRO_INFINITY_AGILEO]]></action>
            <param><![CDATA[
             <dem>
                <action nom="version">
                </action>
             </dem>
            ]]></param>