Un dataset (fichier pivot.DHUB ou fichier compagnon PDF ou XML) peut être déposé par service web. Un lien (par l'intermédiaire d'un numéro de ticket) entre appel service web et dataset est géré. A partir de ce lien, il est possible de faire la demande d'état d'un dataset.
Déposer un dataset par service web : fonctionnement
Le service web générique 'SYNCHRO_INFINITY_AGILEO' permet de déposer des demandes de traitement par le datahub.
Les types de dataset reconnus par service web sont les factures fournisseurs et les fichiers d'import/export de données XML.
Le mécanisme permet, via un 'numéro de ticket' de tracer le dataset déposé, et de donner à l'appelant ce numéro de ticket pour lui permettre d'interroger l'état d'avancement. Le service web générique 'SYNCHRO_INFINITY_AGILEO' permet d'interroger l'état d'avancement d'un dataset, et de récupérer les pièces jointes, à partir du numéro de ticket.
Gestion du numéro de ticket associé à un dataset déposé par service web
L'entête de dataset est dotée de la zone : Dhbent.SwTicketNo (numérotation automatique sur incrément de la table mSocNo) correspondant au numéro de ticket. Le numéro de ticket, lien entre un dataset et l'appel service web correspondant est visible dans le superviseur du datahub :
Pour permettre à l'appelant d'interroger l'avancement du traitement du dataset, le fichier pivot de demande (le fichier .DHUB), doit impérativement contenir les balises qui vont permettre de stocker le numéro de ticket.
La balise est : <SwTicketNo></SwTicketNo> sans contenu. La balise sera traitée à la volée pour y mettre le numéro de ticket obtenu par le demandeur, et ainsi permettre au datahub de stocker dans la table DHBENT ce numéro de ticket.
Exemple de dataset facture fournisseur avec demande de ticket :
Interroger l'état d'un dataset déposé par service web
L'Interrogation de l'état du dataset se fait à l'aide de l'action service web Etat_DataSet :
Paramètres entrants : - numéro de ticket : Balise detail - optionnellement le type de fichier à détailler (DATA ou TRACE) : balise options
Retour ok simple :
Retour ok avec fichier :
Retour erreur :
Demander, par service web, le typage des données d'un fichier d'Export XML
Une demande par Service Web d'export de données XML permet d'indiquer si l'appelant veut obtenir le type des données contenues dans le fichier.
Dans le fichier XML compagnon du dataset, une balise indique, pour la table demandée, si le type des données doit être indiqué.
La balise, positionnée en attribut sur la ligne Export, est : datatype="true".
Exemple de demande d'export XML avec demande de typage:
Par défaut (sans balise, ou avec une autre valeur que 'true') l'export se fait SANS typage. En retour d'une demande de typage, une balise 'Type' indique le type de chaque champ :
Plus d'informations sur le datahub : Comprendre le DataHub