CuandoHayaMensajeIncrustado

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Páginas > Eventos de página >

CuandoHayaMensajeIncrustado

Un mensaje incrustado es un mensaje que se envía desde un IFrame incrustado en una página web hasta un flujo de trabajo que está en el servidor. El flujo de trabajo espera recibir una cadena JSON serializada.

 

El evento CuandoHayaMensajeIncrustado funciona de la siguiente manera:

 

En tiempo de diseño: si se define una acción para el evento CuandoHayaMensajeIncrustado, la aplicación crea automáticamente una fuente de página JSON llamada $MT_EMBEDDEDMESSAGE cuyo elemento raíz se llama json. En esta fuente de página se pueden añadir otros nodos a mano. A partir de ese momento, los componentes de diseño pueden acceder a los nodos de esta fuente de página por medio de expresiones XPath. Nota: hay dos maneras de crear la fuente de página $MT_EMBEDDEDMESSAGE en tiempo de diseño. Una de ellas es activar el evento CuandoHayaMensajeIncrustado (añadiendo una acción al evento) y la otra es definir una acción Devolver mensaje incrustado en la página.
En tiempo de ejecución: el evento CuandoHayaMensajeIncrustado crea una fuente de página JSON llamada $MT_EMBEDDEDMESSAGE cuyo elemento raíz se llama json. La estructura y el contenido de esta fuente de página se deriva de los datos del mensaje incrustado. Si esta fuente de página no tiene la misma estructura que la fuente de página creada en tiempo de diseño, las expresiones XPath de los componentes de diseño no podrán acceder a la fuente de página en tiempo de ejecución.

 

Nota:el evento CuandoHayaMensajeIncrustado es un evento de página, por lo que cada página del diseño puede tener acciones para su evento CuandoHayaMensajeIncrustado. Cuando se envía un mensaje desde la página web, se envía al flujo de trabajo en general (sin especificar la página). El evento que se desencadenará será el evento CuandoHayaMensajeIncrustado de la página que esté activa en ese momento.

 

En tiempo de diseño

La fuente de página JSON $MT_EMBEDDEDMESSAGE se crea automáticamente cuando se define una acción para el control del evento CuandoHayaMensajeIncrustado. Si lo único que desea es crear la fuente de página, añada una acción que no interfiera con el flujo de trabajo (p. ej. una acción Comentario). Si no añade una acción, la fuente de página $MT_EMBEDDEDMESSAGE no se creará. Si después elimina todas las acciones definidas previamente, la fuente de página $MT_EMBEDDEDMESSAGE también se eliminará.

 

Cuando se crea, la fuente de página $MT_EMBEDDEDMESSAGE solo tiene un elemento raíz llamado json y nada más. Después podrá añadir una estructura JSON a la fuente de página con los iconos de la barra de herramientas del panel Fuentes de página. La estructura JSON es imprescindible porque permite a los componentes de diseño acceder a los nodos a través de expresiones XPath.

 

La estructura JSON de la fuente de página $MT_EMBEDDEDMESSAGE en tiempo de diseño debe coincidir con la del tiempo de ejecución. De lo contrario, las expresiones XPath de los componentes de diseño no encontrarán los nodos de la fuente de página en tiempo de ejecución.

 

En tiempo de ejecución

En tiempo de ejecución, si se recibe un mensaje incrustado en forma de cadena JSON, el evento CuandoHayaMensajeIncrustado creará la fuente de página $MT_EMBEDDEDMESSAGE. La fuente de página tiene el elemento raíz json y la estructura y los datos que había dentro del mensaje. Por último, si se definieron otras acciones para el evento CuandoHayaMensajeIncrustado, estas acciones se ejecutan.

 

Usar el mensaje incrustado en la solución

El evento CuandoHayaMensajeIncrustado espera que el mensaje sea una cadena JSON y la analiza para generar la fuente de página $MT_EMBEDDEDMESSAGE, que es una fuente de página JSON.

 

Dependiendo del formato de los datos de origen de la página web, pueden darse dos situaciones:

 

Formato JSON: la fuente de página JSON $MT_EMBEDDEDMESSAGE se puede usar en la solución directamente y los datos de la fuente de página se devuelven a la página web. En este caso se puede definir cualquier tipo de acción no invasiva (como la acción Comentario, por ejemplo) para CuandoHayaMensajeIncrustado (imagen siguiente). Esto activa el control de eventos y es suficiente para crear la fuente de página $MT_EMBEDDEDMESSAGE.

MTActionOnEmbeddedMsgJSON

Consulte el ejemplo Enviar/recibir datos JSON para ver cómo trabajar con datos JSON.

 

Formato XML: además de la fuente de página JSON $MT_EMBEDDEDMESSAGE, que se genera automáticamente con el evento CuandoHayaMensajeIncrustado, también se debería crear una fuente de página XML. Esto permitirá a la solución enviar datos en un formato que sea más fácil de convertir en el formato de la página web. Para crear una fuente de página XML a partir de los datos de $MT_EMBEDDEDMESSAGE, use la acción Cargar desde cadena (imagen siguiente). Para que esto funcione el nodo seleccionado en $MT_EMBEDDEDMESSAGE debe contener una cadena que se pueda analizar como XML.

MTActionOnEmbeddedMsgXML

Consulte el ejemplo Enviar/recibir datos XML para ver cómo trabajar con datos XML.

 

 


© 2019 Altova GmbH