Nodo HTTPInput

Este tema contiene las secciones siguientes:

Finalidad

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:

  • MRM
  • XML
  • XMLNS
  • XMLNSC
  • JMS
  • JMSStream
  • IDOC
  • MIME
  • BLOB

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:

Icono de nodo HTTPInput

Utilización de este nodo en un flujo de mensajes

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.

Configuración del nodo HTTPInput

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:

  1. En Selector de URL, ponga la parte de vía de acceso del URL del que este nodo recibe las peticiones de servicio Web. No proporcione el URL completo.
  2. Entre el intervalo de tiempo de espera Tiempo máximo de espera del cliente, en número de segundos. Es el periodo de tiempo que el escucha de TCP/IP que ha recibido el mensaje de entrada del cliente de servicio Web espera una respuesta del nodo HTTPReply en el flujo de mensajes. Si se recibe una respuesta dentro de este periodo de tiempo, el escucha propaga la respuesta al cliente. Si no se recibe ninguna respuesta en este periodo de tiempo, el escucha envía un mensaje de error SOAP al cliente, indicando que se ha excedido el tiempo de espera.
  3. Seleccione el Formato de error como uno de SOAP 1.1, SOAP 1.2 o HTML.
  4. Si el nodo debe aceptar el HTTP seguro, marque el recuadro de selección Utilizar HTTPS.
  5. Seleccione el valor por omisión en el navegador del diálogo de propiedades y establezca valores para las propiedades que describen el dominio de mensajes, el conjunto de mensajes, el tipo de mensaje y el formato de mensaje que el nodo utiliza, para determinar cómo analizar el mensaje de entrada.
    • En el campo Dominio de mensajes, seleccione el nombre del analizador que está utilizando de la lista desplegable. Puede elegir entre:
      • MRM
      • XML
      • XMLNS
      • XMLNSC
      • JMSMap
      • JMSStream
      • IDOC
      • MIME
      • BLOB
    • Si está utilizando el analizador MRM o IDOC, seleccione el conjunto de mensajes correcto en la lista desplegable del campo Conjunto de mensajes. Esta lista se llena con conjuntos de mensajes disponibles cuando se selecciona MRM o IDOC como dominio.

      Deje en blanco el campo Conjunto de mensajes para los analizadores XML, XMLNS, XMLNSC, JMS, MIME y BLOB.

    • Si está utilizando el analizador MRM, seleccione el mensaje correcto en la lista desplegable de Tipo de mensaje. Esta lista contiene los mensajes que están definidos en el conjunto de mensajes que ha seleccionado.

      Deje en blanco Tipo de mensaje para los analizadores XML, XMLNS, XMLNSC, JMS, IDOC, MIME y BLOB.

    • Si está utilizando el analizador MRM o IDOC, seleccione el formato del mensaje en la lista desplegable del campo Formato del mensaje. Esta lista incluye todos los formatos físicos que ha definido para este conjunto de mensajes.

      Deje en blanco el campo Formato del mensaje para los analizadores XML, XMLNS, XMLNSC, JMS, MIME y BLOB.

  6. Seleccione Validación en el navegador del diálogo de propiedades si desea que el analizador MRM valide el cuerpo de los mensajes contra el diccionario generado del conjunto de mensajes. (Si un mensaje se propaga al terminal de anomalías del nodo, no se valida.)

    Si desea ver más información detallada, consulte los apartados Validar mensajes y Propiedades de validación para mensajes del dominio MRM.

  7. Seleccione Opciones de mensajes generales en el navegador del diálogo de propiedades. Temporización del análisis se establece por omisión en A petición. Esto hace que la validación se retarde hasta que se analiza mediante el análisis parcial. Si cambia este valor a Inmediato, el análisis parcial se altera temporalmente y se analizan y validan todos los elementos de mensaje, excepto los tipos complejos con una Composición de Elección o Mensaje que no se pueden resolver en ese momento. Si lo cambia por Completo, el análisis parcial se altera y se analizan y validan todos los elementos del mensaje; los tipos complejos con una Composición de Elección o Mensaje que no se pueden resolver en ese momento producen una anomalía de validación.
  8. Seleccione Descripción en el navegador del diálogo de propiedades para entrar una descripción corta, una descripción larga, o ambas.
  9. Pulse Aplicar para efectuar los cambios en el nodo HTTPInput sin cerrar el diálogo de propiedades. Pulse Aceptar para aplicar los cambios y cerrar el diálogo de propiedades.

    Pulse Cancelar para cerrar el diálogo y descartar todos los cambios que ha efectuado en las propiedades.

Conexión de terminales

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.

Terminales y propiedades

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   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 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 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 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 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 Inicio del cambioEsta propiedad le permite controlar si se utiliza el analizador compacto XMLNSC para mensajes en el dominio XMLNS. Tenga en cuenta que si establece esta propiedad, los datos del mensaje aparecerán bajo XMLNSC en los nodos que estén conectados al terminal de salida cuando la cabecera RFH2 de entrada o el Dominio de las propiedades predeterminadas sea XMLNS.Fin del cambio
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.
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ac04565_