ONYX - 9.0 - Utilisation

mapSoapRunStreamFromPost

De MappingDoc

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


OX S mapsoaprunstreamfrompost.png
OX S mapSoapRunStreamFromPost.png