Este tema contiene las secciones siguientes:
Utilice el nodo HTTPInput para recibir peticiones de servicio Web para que las procese un flujo de mensajes. Utilizando el nodo HTTPInput con los nodos HTTPReply y HTTPRequest, el intermediario puede actuar como intermediario para los servicios Web y las peticiones de servicio Web pueden transformarse y direccionarse de la misma manera que otros formatos de mensaje soportados por WebSphere Message Broker. Las peticiones de servicio Web se pueden recibir en formato HTTP (1.0 o 1.1) estándar y también en formato HTTP sobre SSL (HTTPS). Puede utilizar la propiedad Utilizar HTTPS para elegir si se van a manejar las peticiones HTTP o HTTPS.
Si incluye un nodo HTTPInput en un flujo de mensajes, debe incluir un nodo HTTPReply en el mismo flujo o pasar el mensaje a otro flujo que incluya un nodo HTTPReply (por ejemplo, a través de un nodo MQOutput a un segundo flujo que empiece con un nodo MQInput). En este caso, la petición del cliente y la respuesta que se le proporciona lo coordina el identificador de petición almacenado en el entorno local (descrito a continuación).
El nodo HTTPInput maneja los mensajes en los siguientes dominios de mensaje:
Cuando el nodo HTTPInput recibe un mensaje de un cliente de servicio Web, invoca a los analizadores adecuados para interpretar las cabeceras y el cuerpo del mensaje, y para crear el árbol de mensaje que utiliza internamente el flujo de mensajes. El nodo crea un identificador exclusivo para el mensaje de entrada y lo almacena como una matriz binaria de 24 bytes en el árbol de entorno local, en LocalEnvironment.Destination.HTTP.RequestIdentifer. Este valor lo utiliza el nodo HTTPReply y no debe modificarse de ninguna manera.
Los mensajes HTTP nunca son persistentes y no tienen ningún orden asociado.
Los mensajes HTTP no son transaccionales. Sin embargo, si el flujo de mensajes interactúa con una base de datos u otro recurso externo como una cola de WebSphere MQ, estas interacciones se realizan de forma transaccional. El nodo HTTPInput proporciona confirmación o restitución según cómo haya finalizado el flujo de mensajes y cómo esté configurado para el manejo de errores (por ejemplo, cómo estén conectados los terminales de anomalías). Si este nodo restituye el flujo de mensajes, se genera un mensaje de error que se devuelve al cliente. El formato del error lo define la propiedad de formato de error
Si se produce una excepción en sentido descendente del flujo de mensajes y ésta no se captura sino que se devuelve a este nodo, el nodo crea una respuesta de error para el cliente. Este error se obtiene de la excepción y el formato del error se define mediante la propiedad de formato de anomalía.
Si incluye un nodo de salida en un flujo de mensajes que empieza con un nodo HTTPInput, puede ser cualquiera de los nodos de salida soportados (incluidos los nodos de salida definidos por el usuario). Puede crear un flujo de mensajes que reciba mensajes de clientes de servicio Web y genere mensajes para clientes que utilicen cualquiera de los transportes soportados para conectar con el intermediario, porque puede configurar el flujo de mensajes para que solicite al intermediario que proporcione cualquier conversión que sea necesaria.
Si crea un flujo de mensajes para utilizarlo como subflujo, no puede utilizar un nodo de entrada estándar; debe utilizar una instancia del nodo Input como el primer nodo, para crear un terminal de entrada para el subflujo.
Si el flujo de mensajes no recibe peticiones de servicio Web, puede elegir uno de los nodos de entrada soportados.
El nodo HTTPInput se representa en el entorno de trabajo con el siguiente icono:
El nodo HTTPInput se puede utilizar en cualquier flujo de mensajes que necesite aceptar mensajes HTTP o HTTPS. El ejemplo más común de esto es un flujo de mensajes que implemente un servicio web. Para obtener más información sobre las aplicaciones de servicios web, consulte Aplicaciones de servicios web.
Una vez ha puesto una instancia del nodo HTTPInput en un flujo de mensajes, puede configurarlo. Pulse el botón derecho del ratón en el nodo en la vista de editor y pulse Propiedades. En el diálogo de propiedades aparecen las propiedades básicas del nodo.
Todas las propiedades obligatorias para las que ha de entrar un valor (las que no tienen definido un valor por omisión) aparecen con un asterisco en el diálogo de propiedades.
Configure el nodo HTTPInput de la manera siguiente:
Deje en blanco el campo Conjunto de mensajes para los analizadores XML, XMLNS, XMLNSC, JMS, MIME y BLOB.
Deje en blanco Tipo de mensaje para los analizadores XML, XMLNS, XMLNSC, JMS, IDOC, MIME y BLOB.
Deje en blanco el campo Formato del mensaje para los analizadores XML, XMLNS, XMLNSC, JMS, MIME y BLOB.
Si desea ver más información detallada, consulte los apartados Validar mensajes y Propiedades de validación para mensajes del dominio MRM.
Pulse Cancelar para cerrar el diálogo y descartar todos los cambios que ha efectuado en las propiedades.
HTTPInput direcciona cada mensaje que recupera satisfactoriamente al terminal de salida. Si la validación del mensaje no es satisfactoria, el mensaje se direcciona al terminal de anomalías; no se pueden conectar nodos a este terminal para manejar esta condición. Si no ha conectado el terminal de anomalías, el mensaje se elimina, se excede el Tiempo máximo de espera del cliente y el escucha de TCP/IP devuelve un error al cliente. Ninguna otra situación hace que el mensaje se direccione al terminal de anomalías.
Si este nodo capta este mensaje después de que se genere una excepción más adelante en el flujo de mensajes, el mensaje se direcciona al terminal de captación. Si no ha conectado el terminal de captación, el mensaje se elimina, se excede el Tiempo máximo de espera del cliente y el escucha de TCP/IP devuelve un error al cliente.
Los terminales del nodo HTTPInput se describen en la siguiente tabla.
Terminal | Descripción |
---|---|
Failure (de anomalías) | El terminal de salida al que se direcciona el mensaje si se produce un error. |
Out (de salida) | El terminal de salida al que se direcciona el mensaje si se recupera satisfactoriamente. |
Catch (de captación) | El terminal de salida al que se direcciona un mensaje si se genera una excepción en sentido descendente y después este nodo la capta. |
Las tablas siguientes describen las propiedades del nodo; la columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco en el diálogo de propiedades si tiene que entrar un valor cuando no hay definido ningún valor por omisión), la columna con la cabecera C indica si la propiedad es configurable (puede cambiar el valor cuando añade el flujo de mensajes al archivo bar para desplegarlo).
Las propiedades básicas del nodo HTTPInput se describen en la siguiente tabla.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Selector de URL | Sí | Sí | Identifica la ubicación de la que se recuperan las peticiones de servicio Web. Si el URL que desea es http://<nombre_sistpral>[:<puerto>]/[<vía_acceso>], especifique /<vía_acceso> o /<fragmento_vía_acceso>/*, donde * es un comodín que puede utilizar para significar coincidir con cualquiera. | |
Tiempo máximo de espera del cliente | Sí | No | 180 | Tiempo máximo que el escucha espera, en segundos, antes de enviar un mensaje de error al cliente. El rango válido es de cero (significa una espera indefinida) a (231)-1. |
Formato de error | No | Sí | SOAP 1.1 | El valor de propiedad puede ser SOAP 1.1, SOAP 1.2 o HTML. Esta propiedad define el formato de los errores HTTP que se devuelven al cliente. |
Utilizar HTTPS | No | Sí | no | Identifica si el nodo debe aceptar el HTTP seguro. |
Las propiedades por omisión del nodo HTTPInput se describen en la siguiente tabla.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Dominio de mensajes | No | No | Dominio que se utilizará para analizar el mensaje de entrada. | |
Conjunto de mensajes | No | No | Nombre o identificador del conjunto de mensajes en el que se define el mensaje de entrada. | |
Tipo de mensaje | No | No | Nombre del mensaje de entrada. | |
Formato del mensaje | No | No | Nombre del formato físico del mensaje de entrada. |
En la tabla siguiente se describen las propiedades de validación del nodo HTTPInput.
Consulte el apartado Propiedades de validación para mensajes del dominio MRM para obtener una descripción completa de estas propiedades.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Validar | No | Sí | Ninguno | Determina si se realiza la validación. Los valores válidos son Ninguno, Contenido y valor y Contenido. |
Acción para anomalía | No | No | Excepción | Determina qué sucede si falla la validación. Sólo puede establecer esta propiedad si establece Validar en Contenido o Contenido y valor. Los valores válidos son Rastreo de usuario, Anotaciones de error locales, Excepción y Lista de excepciones. |
Incluir todas las limitaciones de valor | No | No | Seleccionado | Esta propiedad no se puede editar. La acción por omisión, indicada por el recuadro de selección marcado, es que se incluyan comprobaciones de restricción de valor básicas en la validación de Contenido y valor. |
Arreglo | No | No | Ninguno | Esta propiedad no se puede editar. |
En la tabla siguiente se describen las propiedades de las Opciones de mensajes generales para el nodo HTTPInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Temporización del análisis | No | No | A petición | Esta propiedad controla cuándo se analiza un mensaje de entrada.
Los valores válidos son A
petición, Inmediato
y Completo. Consulte Análisis a petición para obtener una descripción completa de esta propiedad. |
Utilizar analizador compacto MQRFH2C para dominio MQRFH2 | No | No | Deseleccionado | Esta propiedad controla si se utiliza el Analizador compacto MQRFH2C, en lugar del analizador MQRFH2, para las cabeceras MQRFH2. |
En la tabla siguiente se describen las propiedades de las Opciones de analizador XMLNSC para el nodo HTTPInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Utilizar analizador compacto XMLNSC para dominio XMLNS | No | No | Deseleccionado | ![]() ![]() |
Modalidad de retención de contenido mixto | No | No | Ninguno | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensaje cuando encuentra texto mixto en un mensaje de entrada. Los valores válidos son Ninguno y Todos. Si se selecciona Todos, significa que se crean elementos para el texto mixto. Si se selecciona Ninguno, significa que el texto mixto se ignora y no se crea ningún elemento. |
Modalidad de retención de comentarios | No | No | Ninguno | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensaje cuando encuentra comentarios en un mensaje de entrada. Los valores válidos son Ninguno y Todos. Si se selecciona Todos, significa que se crean elementos para los comentarios. Si se selecciona Ninguno, significa que se ignoran los comentarios y no se crean elementos. |
Modalidad de retención de instrucciones de proceso | No | No | Ninguno | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensaje cuando encuentra instrucciones de proceso en un mensaje de entrada. Los valores válidos son Ninguno y Todos. Si se selecciona Todos, significa que se crean elementos para las instrucciones de proceso. Si se selecciona Ninguno, significa que se ignoran las instrucciones de proceso y no se crean elementos. |
Las propiedades de descripción del nodo HTTPInput se describen en la siguiente tabla.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Descripción corta | No | No | Descripción breve del nodo. | |
Descripción larga | No | No | Texto que describe el propósito del nodo en el flujo de mensajes. |