====== Servicios Rest Conversacionales ====== Los servicios Rest, por definición, no guardan estado en el servidor. Pero podemos hacer servicios Rest conversacionales activando en el fichero //web.xml// la siguiente configuración: com.sun.jersey.spi.container.ContainerResponseFilters es.um.atica.jersey.conversation.AddConversationHeaders Recordemos que el parámetro de contexto //com.sun.jersey.spi.container.ContainerResponseFilters// se puede indicar el valor como una lista separada por ','. Por lo que si ya existe dicha declaración solo hay que añadir el //es.um.atica.jersey.conversation.AddConversationHeaders//. Para poder gestionar la conversación, podemos utilizar los parámetros o cabeceras siguientes en las solicitudes: * **//cid//**: parámetro que indica el identificador de la conversación (el nombre de este parámetro se define en el fichero //components.xml//). * **//conversationPropagation//**: parámetro que indica el tipo de propagación (DEFAULT, BEGIN, JOIN, NESTED, NONE, END, ENDROOT) de la conversación indicada. * **//X-Conversation-Id//**: cabecera que indica el identificador de la conversación. Alternativa al parámetro //cid//, sino queremos que vaya como parámetro. * **//X-Conversation-Propagation//**: cabecera que indica el tipo de propagación (DEFAULT, BEGIN, JOIN, NESTED, NONE, END, ENDROOT) aplicado a la conversación indicada. Alternativa al parámetro //conversationPropagation//, sino queremos que vaya como parámetro. En las respuestas tendremos las siguientes cabeceras HTTP: * **//X-Conversation-Id//**: cabecera HTTP que indica el identificador de la conversación actual. * **//X-Conversation-Propagation//**: cabecera HTTP que indica el tipo de propagación (DEFAULT, BEGIN, JOIN, NESTED, NONE, END, ENDROOT) aplicado a la conversación indicada. * **//X-Conversation-Type//**: cabecera HTTP que indica el tipo de conversacion actual: temporal o largo recorrido (long-running). De esta forma se comporta igual que si utilizasemos JSF y el navegador Web. ---- --- //[[juanmiguel.bernal@ticarum.es|JUAN MIGUEL BERNAL GONZALEZ]] 30/06/2020 09:32//