...
Il existe deux services web pour l’interaction avec le Datahub.
CREATION DE DATASET
Le premier service web permet de créer un dataset, de n’importe quel type de dataset supporté par la Datahub. L'appel du service web doit donner les informations requises pour la création du fichier pivot DHUB, ainsi que transmettre tous les fichiers compagnons selon le type de dataset. Il est important de demander un “ticket” en réponse à cet appel pour pouvoir appeler le second service web.
Ce premier service web va permettre de créer, dans le dossier d’entrée du Datahub, le fichier pivot DHUB et tous les fichiers compagnons. Le Datahub va alors détecter ces fichiers, et entrer dans le flux de traitement des datasets dans l’automate à états de manière classique.
INTERROGATION DE DATASET
Le second service web permet d’interroger l'état d’un dataset à partir d’un “ticket” obtenu lors de la phase d’appel pour création du dataset.
...
Bloc de code | ||
---|---|---|
| ||
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <WebServiceDiva xmlns="http://www.Divalto.fr/WebService/"> <action><![CDATA[<action>SYNCHRO_INFINITY_AGILEO]]></action> <param><![CDATA[ <dem> <action dos="998" nom="creer_dataset"> <dataset>PERhdGFIdWIgRGF0YVNldFR5cGU9IkZB(...ceci est un extrait)</dataset> <fichier nom="6.pdf">JVBERi0xLjQKJfbk/N8KMSovVH(...ceci est un extrait)</fichier> </action> </dem> ]]> </param> </WebServiceDiva> </soap:Body> </soap:Envelope> |
Réponse (exemple)
...
Appel au service web de création de Dataset en mode REST (etape C5)
...
Bloc de code | ||
---|---|---|
| ||
{ "action":"WEB_SERVICE_INFINITYSYNCHRO_INFINITY_AGILEO", "access_token":"{{TOKEN}}", "param":"<dem><action dos="'998"' nom="'creer_dataset"><dataset>PERhdGFIdWIgRGF0YVNldFR5cGU9IkZB(...ceci est un extrait)<'><dataset>PERhdGFIdWIgRGF0YVNldFR5cGU9IkZB</dataset><fichier nom="'6.pdf"'>JVBERi0xLjQKJfbk/N8KMSovVH(...ceci est un extrait)</fichier></action></dem>", "access_token":"{{TOKEN}}" } |
NOTES:
{{TOKEN}} est le jeton d’identification obtenu lors de la phase d’authentification
dans la zone “param” il ne doit pas y avoir de saut de ligne
...
Balise | Contenu |
---|---|
<detail> | Balise ouverture détail |
Détail de la demande : <SwTicketNo>numTicket</SwTicketNo> encodé en base 64 | |
</detail> | Balise fermeture détail |
<options>TypeDeFichier</options> | Options : concerne le fichier à renvoyer en retour TypeDeFichier = PIVOT signifie “demande en retour du fichier pivot” = COMPAGNON signifie “demande en retour du fichier compagnon” = TRACE signifie “demande en retour du fichier trace” |
Info |
---|
Le TypeDeFichier |
...
= COMPAGNON signifie “demande en retour du fichier compagnon”
= TRACE signifie “demande en retour du fichier trace”
Info |
---|
Le TypeDeFichier pour les types de dataset qui écrivent un fichier trace, comme par exemple un import de données, une création de pièce, une intégration comptable, permet de récupérer le détail des anomalies. Dans ce cas c’est la valeur TRACE qui correspond au fichier de trace.pour les types de dataset qui écrivent un fichier trace, comme par exemple un import de données, une création de pièce, une intégration comptable, permet de récupérer le détail des anomalies. Dans ce cas c’est la valeur TRACE qui correspond au fichier de trace. |
La réponse à une demande de création se fait sous la forme suivante :
Balise | Obligatoire | Contenu |
---|---|---|
<action dos=codeDossier nom=”etat_dataset” etat=numEtat etat_lib=libelleEtat dhbno=numDataset type=numTypeDataset perime=flagPerime termine=flagTermine final=etatFinal file=contenuFichier /> | Oui Oui Oui Oui Non Non Non Non Non Non | codeDossier est le code du dossier de traitement de ce dataset (fixe) numEtat est le numéro d'état. libelleEtat est le libellé associé à l'état numDataset est le numéro de dataset s’il a été trouvé numTypeDataset numéro identifiant le type de dataset flagPerime : 0 ou 1 si dataset périmé si le dataset a été trouvé flagTermine : 0 ou 1 si dataset terminé etatFinal: numéro d'état final contenuFichier : encodage base 64 du contenu du fichier, s’il a été demandé, quelque soit sont type. |
Exemples de réponse:
<action dos="998" nom="etat_dataset" etat="-1" etat_lib="DataSet inconnu pour le ticket 22" />
<action dos="998" nom="etat_dataset" dhbno="14" type="2" etat="225" perime="0" termine="0" final="225" etat_lib="Dataset incomplet" file="JVBERi0xLjcKJfbk/N8KMSAwIG9iago8PAovVHlwZSAvQ2F0”/>
Etape I1 : numéro de ticket et encodage en base 64
...
Bloc de code | ||
---|---|---|
| ||
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <WebServiceDiva xmlns="http://www.Divalto.fr/WebService/"> <action><![CDATA[<action>SYNCHRO_INFINITY_AGILEO]]></action> <param><![CDATA[ <dem> <action dos="998" nom="interroger_etat_dataset"> <detail>PFN3VGlja2V0Tm8+ICAgICAgICAyMjwvU3dUaWNrZXRObz4=</detail> <options>TRACE</options> </action> </dem> ]]> </param> </WebServiceDiva> </soap:Body> </soap:Envelope> |
Réponse (exemples)
...
Appel au service web d’interrogation de Dataset en mode REST (etape I4)
...
Bloc de code | ||
---|---|---|
| ||
{ "action":"WEB_SERVICE_INFINITY", "param":"<dem><action dos="'998"' nom="'interroger_etat_datahub"' ><detail>PFN3VGlja2V0Tm8+ICAgICAgICAyMjwvU3dUaWNrZXRObz4=</detail><options>TRACE</options></action></dem>", "access_token":"{{TOKEN}}" } |
...
{{TOKEN}} est le jeton d’identification obtenu lors de la phase d’authentification
dans la zone “param” il ne doit pas y avoir de saut de ligne
Utilitaire de test service web datahub
Il existe un utilitaire fourni en standard mais non disponible dans le menu Divalto. Pour l’utiliser, ajouter le ‘clientswdhub.dhop’ à votre menu.
Cet utilitaire permet notamment dans l'onglet DATAHUB d’accéder à certains types de dataset ainsi qu’au service d’interrogation.
Consultez la documentation concernant les services web pour plus de détails
...