Appeler un service web SOAP en mode REST

Mode REST

Les services web métiers Diva fournis avec l'ERP on majoritairement été écrits en mode SOAP avec flux XML via l'action de service SYNCHRO_INFINITY_AGILEO.
Le runtime Harmony 406 (a partir de la version 10.5) met a disposition de nouvelles instructions pour un appel de service web en mode REST, permettant notamment une couche d'authentification, ainsi qu'une nouvelle action de service WEB_SERVICE_INFINITY.


Mais il est également possible de faire un appel a service web en l'encapsulant dans un mode d'appel REST.
C'est ce qui a été fait pour exemple dans l'utilitaire de test CLIENTSWSHUB.DHOP

Exemples

Trois services web métier diva ont été pris pour exemple en appel REST.

Le haut de la page permet d'indiquer les paramètres du serveur REST a interroger, ainsi que les informations d'authentification.
Se référer à la documentation pour la mise en place d'une serveur REST.


Le résultat est strictement identique a un appel SOAP ou REST car le flux XML est identique, ainsi que la réponse déterminée par le service métier.

Technique

Voir dans CLIENTSWDHUB.DHSP la fonction 'ExecuterWebServiceRest' et le module CLIENTSWREST.dhop.


Le principe est d'utiliser

  • la fonction 'RecordSQLRestOpen' qui permet l'authentification a partir des paramètres du serveur REST et des informations d'authentification
  • puis la fonction 'RecordSQLRestDiva' qui permet l'appel au service web métier avec gestion du token (même expiré)