ONYX - 9.0 - Utilisation - mapSoapRunStreamFromPost
Différence entre versions
De MappingDoc
(Balise : Éditeur visuel) |
(→Exemple de workflow pour traitement synchrone) |
||
Ligne 49 : | Ligne 49 : | ||
*Conversion du XPS en PDF | *Conversion du XPS en PDF | ||
*Envoi du résultat dans la réponse de la requête SOAP | *Envoi du résultat dans la réponse de la requête SOAP | ||
+ | |||
+ | {{warning}} La boite permettant de renvoyer le résultat au consommateur doit se trouver dans le Workflow déclenché par le WebService. Elle ne peut en aucun cas se trouver dans un sous workflow invoqué par un "call". | ||
<br /> | <br /> |
Version du 12 avril 2019 à 07:17
Sommaire
Introduction
mapSoapRunStreamFromPost est une méthode du WebService "mapsoapserver.exe"
Cas d'usage :
- Envoyer un fichier à Mapping pour récupérer de manière synchrone un fichier réponse (par exemple transmission d'un XML et réception d'un PDF en retour)
- Envoyer un fichier de grande taille à Mapping, pour un traitement asynchrone
Utilisation
- Methode POST
- Contrairement à la méthode mapUploadFile, l'utilisation de mapSoapRunStreamFromPost permet d'invoquer un workflow
- Le contenu du fichier doit être passé directement à la place de l'enveloppe XML, tel quel (pas d'encodage en base64)
- Tous les paramètres <key/value> doivent être passés exclusivement dans l'URL (il n'y a pas d'enveloppe XML)
- Dans le workflow :
- Les couples key/value sont récupérables sous forme de variables [%xxxx%]
- Le fichier est identifié par [%MAP_FILE_IN%]
Exemple de requête SOAP
curl -u mapadmin:mapadmin -X POST --data-binary "@/tmp/mon_fichier.pdf" "http://192.168.100.14:8002/cgi-bin/mapsoapserver.exe/mapSoapRunStreamFromPost?workflow=testsoap&key=macle1&value=mavaleur1&key=macle2&value=mavaleur2"
Remarques :
- Si l'un des paramètres "key" a pour valeur "worfklow", cela permet de spécifier le nom du workflow à invoquer. S'il n'est pas renseigné, c'est le workflow "root" qui est appelé.
- "macle1" et "mapcle2" sont 2 méta données récupérables dans le workflow.
- La présence du @ dans l'option --data-binary permet de spécifier qu'il s'agit d'un fichier.
- Le fichier transmis étant un PDF, l'option utilisée est --data-binary , mais pour les fichiers "texte", l'option serait "--data"
Exemple de workflow pour traitement asynchrone
- La variable param1 récupère le contenu de macle1
- La variable param2 récupère le contenu de macle2
- La boite "Print" permet d'envoyer le fichier dans la file d'attente "MON_ENTRY"
- Le fichier transmis dans le flux du WebService est [%MAP_FILE_IN%]
- La coche "Ajouter les paramètres courants" permettent de transmettre les variables param1 et param2 avec le fichier dans la file d'attente "MON_ENTRY"
Exemple de workflow pour traitement synchrone
- La variable param1 récupère le contenu de macle1
- La variable param2 récupère le contenu de macle2
- Composition du document XML en XPS
- Conversion du XPS en PDF
- Envoi du résultat dans la réponse de la requête SOAP
La boite permettant de renvoyer le résultat au consommateur doit se trouver dans le Workflow déclenché par le WebService. Elle ne peut en aucun cas se trouver dans un sous workflow invoqué par un "call".