ONYX - 9.0 - Utilisation - mapSoapRunStreamFromPost
Différence entre versions
(Cette version a été marquée pour être traduite) |
|||
Ligne 1 : | Ligne 1 : | ||
<languages/> | <languages/> | ||
<translate> | <translate> | ||
− | ===Introduction=== | + | ===Introduction=== <!--T:1--> |
mapSoapRunStreamFromPost est une méthode du WebService "mapsoapserver.exe" | mapSoapRunStreamFromPost est une méthode du WebService "mapsoapserver.exe" | ||
+ | <!--T:2--> | ||
Cas d'usage : | Cas d'usage : | ||
+ | <!--T:3--> | ||
*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 à 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. Tous types de fichiers sont acceptés. | *Envoyer un fichier de grande taille à Mapping, pour un traitement asynchrone. Tous types de fichiers sont acceptés. | ||
− | ===Utilisation=== | + | ===Utilisation=== <!--T:4--> |
+ | <!--T:5--> | ||
*Methode POST | *Methode POST | ||
*Paramètres : | *Paramètres : | ||
Ligne 19 : | Ligne 22 : | ||
::Exemples : XML, PDF, XPS, TXT, CSV, EXE, JPG, PNG, ZIP etc... | ::Exemples : XML, PDF, XPS, TXT, CSV, EXE, JPG, PNG, ZIP etc... | ||
+ | <!--T:6--> | ||
*Contrairement à la méthode mapUploadFile, l'utilisation de mapSoapRunStreamFromPost permet d'invoquer un workflow | *Contrairement à la méthode mapUploadFile, l'utilisation de mapSoapRunStreamFromPost permet d'invoquer un workflow | ||
*Le contenu du fichier doit être passé directement dans le corps, sans enveloppe et sans encodage en base64 | *Le contenu du fichier doit être passé directement dans le corps, sans enveloppe et sans encodage en base64 | ||
Ligne 27 : | Ligne 31 : | ||
* Si le paramètre "getobject=1" est ajouté à l'URL, le corps de la réponse contient directement le fichier issu du workflow sans enveloppe XMLS ni encodage en base64. | * Si le paramètre "getobject=1" est ajouté à l'URL, le corps de la réponse contient directement le fichier issu du workflow sans enveloppe XMLS ni encodage en base64. | ||
− | ===Exemple de requête SOAP=== | + | ===Exemple de requête SOAP=== <!--T:7--> |
+ | <!--T:8--> | ||
'''Avec un fichier PDF''' | '''Avec un fichier PDF''' | ||
+ | <!--T:9--> | ||
<code>curl -u mapadmin:mapadmin -X POST --data-binary "@/tmp/mon_fichier.pdf" "http://192.168.100.14:8002/cgi-bin/mapsoapserver.exe/mapSoapRunStreamFromPost?key=workflow&value=testsoap&key=macle1&value=mavaleur1&key=macle2&value=mavaleur2"</code> | <code>curl -u mapadmin:mapadmin -X POST --data-binary "@/tmp/mon_fichier.pdf" "http://192.168.100.14:8002/cgi-bin/mapsoapserver.exe/mapSoapRunStreamFromPost?key=workflow&value=testsoap&key=macle1&value=mavaleur1&key=macle2&value=mavaleur2"</code> | ||
+ | <!--T:10--> | ||
'''Avec un fichier XML''' | '''Avec un fichier XML''' | ||
+ | <!--T:11--> | ||
<code>curl -u mapadmin:mapadmin -X POST --data "@/tmp/mon_fichier.xml" "http://192.168.100.14:8002/cgi-bin/mapsoapserver.exe/mapSoapRunStreamFromPost?key=workflow&value=testsoap&key=typdoc&value=facture&key=enseigne&value=mag_paris&getobject=1"</code> | <code>curl -u mapadmin:mapadmin -X POST --data "@/tmp/mon_fichier.xml" "http://192.168.100.14:8002/cgi-bin/mapsoapserver.exe/mapSoapRunStreamFromPost?key=workflow&value=testsoap&key=typdoc&value=facture&key=enseigne&value=mag_paris&getobject=1"</code> | ||
+ | <!--T:12--> | ||
<u>Remarques</u> : | <u>Remarques</u> : | ||
+ | <!--T:13--> | ||
*Le paramètre "'''worfklow'''", permet de spécifier le nom du workflow à invoquer. S'il n'est pas renseigné, c'est le workflow "root" qui est appelé. | *Le paramètre "'''worfklow'''", permet de spécifier le nom du workflow à invoquer. S'il n'est pas renseigné, c'est le workflow "root" qui est appelé. | ||
*"macle1", "mapcle2", "typdoc" et "enseigne" sont des exemples de méta données récupérables dans le workflow, permettant à Mapping d'effectuer le traitement adapté au fichier. | *"macle1", "mapcle2", "typdoc" et "enseigne" sont des exemples de méta données récupérables dans le workflow, permettant à Mapping d'effectuer le traitement adapté au fichier. | ||
Ligne 46 : | Ligne 56 : | ||
* Dans le 2ème exemple, le paramètre "getobject=1" permet d'avoir une réponse de type "octet-stream", sans enveloppe XML ni encodage en base64 | * Dans le 2ème exemple, le paramètre "getobject=1" permet d'avoir une réponse de type "octet-stream", sans enveloppe XML ni encodage en base64 | ||
− | ===Exemple de workflow pour traitement asynchrone=== | + | ===Exemple de workflow pour traitement asynchrone=== <!--T:14--> |
+ | <!--T:15--> | ||
*La variable param1 récupère le contenu de macle1 (boite paramètre) | *La variable param1 récupère le contenu de macle1 (boite paramètre) | ||
*La variable param2 récupère le contenu de macle2 (boite paramètre) | *La variable param2 récupère le contenu de macle2 (boite paramètre) | ||
Ligne 54 : | Ligne 65 : | ||
**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" | **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" | ||
+ | <!--T:16--> | ||
<br /> | <br /> | ||
[[Fichier:OX S workflow mapsoaprunstreamfrompost1.png|alt=|centré|354x354px|sans_cadre]] | [[Fichier:OX S workflow mapsoaprunstreamfrompost1.png|alt=|centré|354x354px|sans_cadre]] | ||
[[Fichier:OX S Workflow mapsoaprunstreamfrompost2.png|alt=|centré|828x828px|sans_cadre]] | [[Fichier:OX S Workflow mapsoaprunstreamfrompost2.png|alt=|centré|828x828px|sans_cadre]] | ||
+ | <!--T:17--> | ||
− | ===Exemple de workflow pour traitement synchrone=== | + | ===Exemple de workflow pour traitement synchrone=== <!--T:18--> |
+ | <!--T:19--> | ||
*La variable param1 récupère le contenu de macle1 (boite paramètre) | *La variable param1 récupère le contenu de macle1 (boite paramètre) | ||
*La variable param2 récupère le contenu de macle2 (boite paramètre) | *La variable param2 récupère le contenu de macle2 (boite paramètre) | ||
Ligne 69 : | Ligne 83 : | ||
+ | <!--T:20--> | ||
{{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". | {{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". | ||
</translate> | </translate> |
Version du 29 octobre 2019 à 10:14
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. Tous types de fichiers sont acceptés.
Utilisation
- Methode POST
- Paramètres :
- - Workflow : nom du workflow Mapping à invoquer
- - Couples key/value : méta données
- - Fichier à envoyer
- - Type de réponse (XML avec fichier encodé en base64, ou directement le fichier)
- Exemples : XML, PDF, XPS, TXT, CSV, EXE, JPG, PNG, ZIP etc...
- Contrairement à la méthode mapUploadFile, l'utilisation de mapSoapRunStreamFromPost permet d'invoquer un workflow
- Le contenu du fichier doit être passé directement dans le corps, sans enveloppe et sans 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 utilisables dans le workflow sous forme de variables [%xxxx%]
- Le fichier est identifié par la variable [%MAP_FILE_IN%]
- Si le paramètre "getobject=1" est ajouté à l'URL, le corps de la réponse contient directement le fichier issu du workflow sans enveloppe XMLS ni encodage en base64.
Exemple de requête SOAP
Avec un fichier PDF
curl -u mapadmin:mapadmin -X POST --data-binary "@/tmp/mon_fichier.pdf" "http://192.168.100.14:8002/cgi-bin/mapsoapserver.exe/mapSoapRunStreamFromPost?key=workflow&value=testsoap&key=macle1&value=mavaleur1&key=macle2&value=mavaleur2"
Avec un fichier XML
curl -u mapadmin:mapadmin -X POST --data "@/tmp/mon_fichier.xml" "http://192.168.100.14:8002/cgi-bin/mapsoapserver.exe/mapSoapRunStreamFromPost?key=workflow&value=testsoap&key=typdoc&value=facture&key=enseigne&value=mag_paris&getobject=1"
Remarques :
- Le paramètre "worfklow", permet de spécifier le nom du workflow à invoquer. S'il n'est pas renseigné, c'est le workflow "root" qui est appelé.
- "macle1", "mapcle2", "typdoc" et "enseigne" sont des exemples de méta données récupérables dans le workflow, permettant à Mapping d'effectuer le traitement adapté au fichier.
- La présence du @ dans l'option --data-binary permet de spécifier qu'il s'agit d'un fichier.
- Dans le premier exemple, le fichier transmis étant un PDF, l'option utilisée est --data-binary , mais pour les fichiers "texte", comme l'exemple XML, l'option pourrait être "--data"
- Dans le 2ème exemple, le paramètre "getobject=1" permet d'avoir une réponse de type "octet-stream", sans enveloppe XML ni encodage en base64
Exemple de workflow pour traitement asynchrone
- La variable param1 récupère le contenu de macle1 (boite paramètre)
- La variable param2 récupère le contenu de macle2 (boite paramètre)
- La boite "Print" permet d'envoyer le fichier dans la file d'attente "MON_ENTRY" (boite "Imprimer")
- 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 (boite paramètre)
- La variable param2 récupère le contenu de macle2 (boite paramètre)
- Composition du document XML en XPS (boite Designer)
- Conversion du XPS en PDF (Boite de conversion vers PDF)
- Envoi du résultat dans la réponse de la requête SOAP (Boite "Affichage dans le navigateur")
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".
Open Api Specification 3 (YAML)
openapi: "3.0.0" info: title: mapSoapRunStreamFromPost description: Send a file to Mapping version: "0.0.0" servers: - url: "{protocol}://{server}:{port}/mapsoapserver.exe" description: Local Server variables: protocol: default: 'http' server: default: '127.0.0.1' port: default: '8002' paths: /mapSoapRunStreamFromPost: post: summary: Send a file to a Mapping Workflow tags: - mapSoapRunStreamFromPost parameters: - name: workflow in: query required: false description: Name of the workflow to call schema: type: string example: my_workflow - name: key in: query required: false description: key explode: true style: form schema: type: array items: type: string example: my_key - name: value in: query required: false description: value explode: true style: form schema: type: array items: type: string example: my_value requestBody: required: true content: application/octet-stream: schema: type: string format: binary responses: '200': description: Base64 response sent by the Workflow content: application/xml: schema: type: object xml: name: 'Envelope' prefix: 'soap' namespace: "http://schemas.xmlsoap.org/soap/envelope/" properties: Body: type: object xml: prefix: soap properties: mapSoapRunStreamFromPostResponse: type: object properties: mapSoapRunStreamFromPostResult: type: object properties: document: type: string format: byte description: base64 content