SurMessageIntégré
L'événement OnEmbeddedMessage est disponible pour toutes les pages (pages supérieures et sous-pages). Un message intégré est un message qui est publié depuis un IFrame intégré dans la page web vers le flux du travail sur le serveur. Le flux de travail s'attend à recevoir un string JSON sérialisé.
L'événement SurMessageIntégré fonctionne comme suit :
•Au moment du design : lorsqu'une action est définie pour l'événement SurMessageIntégré, une source de page JSON appelée \$MT_EMBEDDEDMESSAGE est créée avec un élément de racine nommé json. Des nœuds supplémentaires peuvent être ajoutés manuellement à la source de page. Les composants du design peuvent ensuite accéder aux nœuds de cette source de page en utilisant les expressions XPath. Note : l'activation de l'événement SurMessageIntégré (en y ajoutant une action) est l'une des deux manières de créer la source de page \$MT_EMBEDDEDMESSAGE au moment du design. (L'autre manière est de définir une action Message intégré Retour à tout endroit de la page.)
•Au moment de l'exécution : l'événement SurMessageIntégré crée une source de page JSON appelée \$MT_EMBEDDEDMESSAGE avec un élément racine appelé json. La structure et le contenu de cette source de page proviendra des données contenues dans le message intégré. Si cette source de page ne présente pas la même structure que celle de la source de page créée au moment de la conception, la source de page d'exécution ne pourra pas être accédée par les expressions XPath des composants de design.
Note : | L'événement SurMessageIntégré est un événement de page, donc chaque page du design pourra avoir des actions définies pour son événement SurMessageIntégré. Lorsqu'un message est envoyé depuis la page web, elle est envoyée au flux de travail dans son ensemble (sans spécifier une page en particulier). C'est l'événement SurMessageIntégré de la page active actuellement qui sera déclenché. |
Au moment du design
La source de page JSON \$MT_EMBEDDEDMESSAGE est créée automatiquement si au moins une action est définie pour la gestion de l'événement de SurMessageIntégré. Si vous ne souhaitez effectuer aucun autre action supplémentaire outre la création de la source de page, ajoutez une action qui n'interfère pas avec le flux de travail, par exemple, une action Commenter. Si vous n'ajoutez pas d'action, la source de page \$MT_EMBEDDEDMESSAGE ne sera pas créée. Si vous retirez ensuite toutes les actions définies, la source de page \$MT_EMBEDDEDMESSAGE sera également supprimée.
Une fois la source de page \$MT_EMBEDDEDMESSAGE créée, elle présentera un élément racine nommé json, et rien d'autre. Vous pouvez ajouter manuellement une structure JSON à la source de page en utilisant les commandes dans la barre d'outils du Volet Sources de page. Une structure est nécessaire parce qu'elle permet aux composants de design d'accéder à ces nœuds par le biais d'expressions XPath.
Les structures du temps de design et du temps d'exécution de la source de page \$MT_EMBEDDEDMESSAGE doivent être correspondants, sinon les expressions XPath contenues dans les composants de design risquent de ne pas pouvoir localiser les nœuds de source de page en cours d'exécution, ce qui entraînera des erreurs.
Au moment de l'exécution
Au moment de l'exécution, si un message intégré est reçu sous la forme d'un string JSON, l'événement SurMessageIntégré crée la source de page \$MT_EMBEDDEDMESSAGE. (Sinon, il ne créera pas cette source de page.) La source de page est créée avec un élément de racine nommé json et aura la structure et les données contenues dans le message. Si des actions supplémentaires ont été définies pour cet événement, celles-ci seront exécutées.
Utiliser le message intégré dans la solution
L'événement SurMessageIntégré s'attend à ce que le message qu'il reçoit soit un string JSON et il parse ce string pour générer la source de page \$MT_EMBEDDEDMESSAGE, qui est une source de page JSON.
Deux scénarios émergent selon le format des données de source dans la page web
•Format JSON : la source de page JSON \$MT_EMBEDDEDMESSAGE peut être utilisée directement dans la solution, et les données provenant de cette source de page peuvent être repassées directement dans la page web. Dans ce cas, toute action non intrusive (comme une action Commentaire) peut être définie pour SurMessageIntégré(capture d'écran ci-dessous). Cela active la gestion d'événement et est suffisant pour créer la source de page \$MT_EMBEDDEDMESSAGE.
![MTActionOnEmbeddedMsgJSON](./images/mtactiononembeddedmsgjson.png)
Voir Envoyer/recevoir des données JSON pour un exemple de travail avec des données JSON.
•Format XML : Outre la source de page JSON \$MT_EMBEDDEDMESSAGE, qui est générée automatiquement par SurMessageIntégré, une source de page XML devrait aussi être créée. Cela permettra à la solution d'envoyer des données sous une forme qui peut être aisément reconvertie dans le format XML de la source de page web. Afin de créer une source de page XML depuis les données contenues dans \$MT_EMBEDDEDMESSAGE, utiliser l'action Charger depuis String (capture d'écran ci-dessous). Pour que cela fonctionne, le nœud sélectionné dans \$MT_EMBEDDEDMESSAGE doit contenir un string qui peut être parsé en tant que XML.
![MTActionOnEmbeddedMsgXML](./images/mtactiononembeddedmsgxml.png)
Voir Envoyer/Recevoir des données XML pour un exemple de travail avec des données XML.