ONYX - 9.0 - Utilisation
mapSoapRunStreamFromPost
De MappingDoc
Révision datée du 26 mars 2019 à 14:40 par Nsmet (discussion | contributions)
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 (envoi d'un XML et réception d'un PDF en retour par exemple)
- Envoyer un fichier de grande taille à Mapping, pour un traitement asynchrone
Utilisation
- 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