Nodo RESTRequest

Utilice el nodo RESTRequest para emitir solicitudes síncronas a las API REST externas.

El nodo RESTRequest está disponible en las siguientes modalidades de operación:
  • Desarrollador
  • Application Integration Suite
  • Estándar
  • Avanzada
  • Express
  • Scale
  • Adaptador
Para obtener más información, consulte Modos de funcionamiento.

Este tema contiene las secciones siguientes:

Finalidad

Puede utilizar un nodo RESTRequest en un flujo de mensajes para emitir solicitudes síncronas a las API REST externas. El nodo RESTRequest utiliza un documento Swagger importado en formato JSON o YAML, que puede importar desde el espacio de trabajo del kit de herramientas, el sistema de archivos o desde un URL.

Si ha creado una API REST desde cero en IBM® Integration Toolkit, se ha creado un documento Swagger para usted, que ahora puede importar y utilizar con el nodo RESTRequest . Para obtener más información sobre la creación de API REST, consulte Creación de una API REST.

El nodo RESTRequest maneja mensajes en los siguientes dominios de mensajes:

  • DFDL
  • XMLNSC
  • JSON
  • BLOB
  • MIME
  • XMLNS
  • MRM

El nodo RESTRequest está contenido en el cajón RESTO de la paleta y está representado en el IBM Integration Toolkit por el siguiente icono:

Icono de nodo RESTRequest

Terminales y propiedades

Los terminales de nodo de RESTRequest se describen en la tabla siguiente.

Terminal Descripción
De entrada El terminal de entrada que acepta un mensaje para que lo procese el nodo.
Anomalía El terminal de salida al que se dirige un mensaje si se ha detectado una anomalía durante su proceso en el nodo.
De salida El terminal de salida al que se direcciona el mensaje si representa la finalización satisfactoria de la solicitud de API REST y si se requiere proceso adicional dentro de este flujo de mensajes.
Error El terminal de salida al que se dirigen los mensajes que incluyen un código de estado HTTP que no está entre 200 y 299, incluidos los códigos de redirección (3xx) si no ha establecido la propiedad Seguir la redirección de HTTP(s).

Las tablas siguientes describen las propiedades del nodo. La columna de cabecera M indica si la propiedad es obligatorio (marcada con un asterisco en el panel si debe especificar un valor cuando no se ha definido ningún valor predeterminado); 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 de descripción de nodo de RESTRequest se describen en la tabla siguiente.

Propiedad M C Valor predeterminado Descripción
Nombre de nodo No No El tipo de nodo, RESTRequest El nombre del nodo.
Descripción breve No No   Breve descripción del nodo.
Descripción detallada No No   Texto que describe la finalidad del nodo en el flujo de mensajes.

Las propiedades básicas del nodo de RESTRequest se describen en la tabla siguiente.

Propiedad M C Valor predeterminado Descripción Propiedad del mandato mqsiapplybaroverride
Archivo de definiciones No   El nombre de un archivo que contiene las definiciones para la API REST que desea invocar. Este archivo debe ser un documento Swagger 2.0 válido, y puede estar en formato JSON o YAML.  
Operación No   El nombre de la operación de la API REST que desea invocar.  
Identidad de seguridad No   El nombre del objeto de identidad de seguridad que contiene el ID de usuario, la contraseña y la clave de API que debe utilizar el nodo de integración para autenticarse en la API REST.
Utilice el mandato mqsisetdbparms para crear y configurar el objeto de identidad de seguridad y para establecer el ID de usuario, la contraseña y la clave de API a los que debe acceder el nodo de integración. Las credenciales pueden especificarse en la identidad de seguridad en cualquiera de las combinaciones siguientes:
  • ID de usuario y contraseña
  • ID de usuario, contraseña y clave de API
  • Sólo clave de API

El valor predeterminado para esta propiedad es una serie vacía, lo que significa que el nodo RESTRequest no intentará autenticarse en la API REST. Para obtener más información sobre el soporte de identidad de seguridad de API REST, consulte Mandato mqsisetdbparms.

securityIdentity
Tiempo de espera de solicitud (seg) 120 Tiempo, en segundos, que el nodo espera una respuesta de la API REST. El rango válido es de 1 a (231)-1. No se puede entrar un valor que represente una espera ilimitada. El tiempo de espera puede tardar un segundo más que el valor especificado. timeoutForServer
Alteración temporal de URL base No   El URL base que debe utilizarse al efectuar una solicitud HTTP a la API REST. De forma predeterminada, se utiliza el URL base especificado en el archivo de definiciones de la API REST. baseURL

Las propiedades de valores HTTP del nodo de RESTRequest se describen en la tabla siguiente.

Propiedad M C Valor predeterminado Descripción Propiedad del mandato mqsiapplybaroverride
Ubicación de proxy HTTP(S) No   Servidor proxy al que se envían solicitudes. Este valor debe tener el formato nombre_host:puerto.

Si el servidor proxy configurado requiere autenticación, las credenciales deben establecerse utilizando el mandato mqsisetdbparms con el nombre de recursohttpproxy, o se proporciona en el flujo de mensajes. Para obtener más información, consulte Direccionamiento de solicitudes a través de un servidor proxy HTTP que tiene habilitada la autenticación.

httpProxyLocation
Seguir la redirección HTTP(S) No No Deseleccionado Si selecciona el recuadro, se siguen las redirecciones. Si lo deselecciona, no se siguen las redirecciones.  
Habilitar el mantenimiento de activado de HTTP/1.1 No Seleccionado Utilice el mantenimiento de activado de HTTP/1.1 enableKeepAlive
Usar compresión No Ninguna Esta propiedad controla si el contenido de la solicitud HTTP está comprimido. Puede elegir uno de los siguientes valores: none, gzip, zlib (deflate) y deflate. Si la solicitud está comprimida, la cabecera Content-Encoding se establece para indicar que el contenido está comprimido.

zlib (deflate) representa RFC 1950 + RFC 1951 combinados.

deflate representa solo RFC 1951.

requestCompressionType

Las propiedades SSL del nodo de RESTRequest se describen en la tabla siguiente.

Propiedad M C Valor predeterminado Descripción Propiedad del mandato mqsiapplybaroverride
Protocolo No TLS Protocolo SSL a utilizar al realizar una solicitud HTTPS. protocol
Cifrados SSL permitidos No   Lista separada por comas de cifrados a utilizar al realizar una solicitud SSL. El valor predeterminado de una Serie vacía significa que hay que utilizar todos los cifrados disponibles. allowedCiphers
Habilitar comprobación de nombre de host de certificado SSL No No Esta propiedad especifica si el nombre de host del servidor que está recibiendo la solicitud debe coincidir con el nombre de host en el certificado SSL. hostnameChecking
Alias de clave de autenticación de cliente SSL No (serie vacía) Esta propiedad especifica un alias de autenticación SSL para el lado del cliente de una conexión HTTP. Tomar el valor predeterminado, significa elegir automáticamente la primera clave adecuada. keyAlias
Habilitar comprobación de lista de revocación de certificados No No seleccionado Esta propiedad especifica si la comprobación de CRL debe estar habilitada para las conexiones SSL enableCRLCheck

Las propiedades de solicitud de nodo de RESTRequest se describen en la tabla siguiente.

Propiedad M C Valor predeterminado Descripción
Parámetros No No   La Tabla de parámetros muestra la lista de parámetros actual para la operación seleccionada en el panel Básicas. Para cada parámetro mostrado, puede especificar una expresión XPath o ESQL en la columna Expresión para especificar un valor (un literal o una vía de acceso del árbol de mensajes) para dicho parámetro. Como alternativa, los valores de los parámetros pueden especificarse en el entorno local (LocalEnvironment).
Content-Type No No   Es el valor de la cabecera Content-Type que debe enviarse en la solicitud a la API REST. De forma predeterminada, el nodo RESTRequest determina un tipo de contenido a utilizar en función del mensaje de entrada. Por ejemplo, si el mensaje de entrada contiene un mensaje XMLNSC, la cabecera Content-Type de la solicitud seráapplication/xml. Puede seleccionar un tipo de contenido del archivo de definiciones de la API REST o puede especificar su propio tipo de contenido.
Ubicación del cuerpo de entrada No $Body La ubicación en el árbol de mensajes de entrada desde la que se recuperan datos para formar el cuerpo de solicitud HTTP que se envía desde el nodo RESTRequest a la API REST. El valor predeterminado, $Body, representa el cuerpo del mensaje de entrada. Puede especificar cualquier expresión XPath o ESQL que defina la ubicación del árbol de mensajes para serializar y enviar a la API REST.

Las propiedades de respuesta del nodo de RESTRequest se describen en la tabla siguiente.

Propiedad M C Valor predeterminado Descripción
Aceptar No No   Es el valor de la cabecera Accept que debe enviarse en la solicitud a la API REST. De forma predeterminada, el nodo RESTRequest envía un valor aceptar cualquier cosa de */*. Puede seleccionar una cabecera Accept del archivo de definiciones de la API REST o especificar su propia cabecera Accept.
Ubicación de cuerpo de resultado No No $ResultRoot Esta propiedad especifica en qué subárbol del resultado debe colocarse en el mensaje. Si no se especifica un valor para esta propiedad, resultroot se utiliza como el valor predeterminado y la respuesta completa se coloca en el mensaje de salida en la ubicación que se especifica en la propiedad Ubicación de cuerpo de salida. Para obtener más información, consulte Combinación de un mensaje de resultado con un mensaje de entrada al captar datos de sistemas externos.
Ubicación del cuerpo de salida No No $OutputRoot La ubicación del árbol de mensajes en la que el nodo RESTRequest envía la salida. El valor predeterminado, $OutputRoot, sustituye el mensaje de entrada por la respuesta. Para obtener más información, consulte Combinación de un mensaje de resultado con un mensaje de entrada al captar datos de sistemas externos.
Ubicación de cuerpo de error No No $OutputRoot La ubicación del árbol de mensajes a la que el nodo RESTRequest envía la salida cuando la respuesta se direcciona al terminal de errores (en función de las condiciones de direccionamiento descritas para el terminal de errores). El valor predeterminado, $OutputRoot, sustituye el mensaje de entrada por la respuesta. Para obtener más información, consulte Combinación de un mensaje de resultado con un mensaje de entrada al captar datos de sistemas externos.
Copiar entorno local     Seleccionada Esta propiedad controla si se debe copiar el entorno local de entrada o propagar el entorno local de entrada. De forma predeterminada, este recuadro de selección está seleccionado, lo que especifica que el entorno local se copia de modo para que se conserve el entorno local de entrada. Las adiciones al entorno local sólo son visibles para los nodos en sentido descendente de este nodo. Si este recuadro de selección no está seleccionado, el entorno local de entrada se utiliza para el mensaje de salida. Todas las modificaciones que se realizan en el entorno local mediante este nodo son visibles para los nodos en sentido descendente y en sentido ascendente después de que este nodo se haya completado.
Aceptar respuestas comprimidas por omisión No Seleccionada Esta propiedad especifica si el nodo de solicitud maneja respuestas comprimidas de manera predeterminada. Si la cabecera de solicitud no contiene una cabecera Accept-Encoding, y esta opción está seleccionada, el nodo establece la cabecera Accept-Encoding engzip, deflate, y cualquier respuesta comprimida que se reciba se descomprime por el nodo. Si el mensaje propagado al nodo RESTRequest incluye una cabecera Accept-Encoding, el flujo de mensajes o la aplicación cliente deben manejar cualquier respuesta comprimida, en cuyo caso esta propiedad no tiene ningún efecto.

Las propiedades de Análisis de mensaje de respuesta de nodo de RESTRequest se describen en la tabla siguiente.

Propiedad M C Valor predeterminado Descripción
Manejo automático de Content-Type No No Seleccionada Cuando se selecciona esta propiedad, el nodo RESTRequest selecciona automáticamente el dominio de mensajes que se utilizará para analizar el cuerpo de respuesta, basándose en el valor de la cabecera Content-Type en la respuesta. Por ejemplo, si la cabecera Content-Type de la respuesta esapplication/json, se utiliza el dominio de mensajes JSON. Si selecciona esta propiedad, no puede especificar ningún otro campo de este panel.
Dominio de mensajes No No BLOB Dominio que se utiliza para analizar el mensaje. Si el campo está en blanco, el valor predeterminado es BLOB.
Modelo de mensaje No No Deseleccionado Nombre o ubicación del archivo de esquemas de modelos de mensaje en el que se define el mensaje.

Cuando pulsa Examinar, puede visualizar una lista de archivos de esquema de modelo de mensajes disponibles para el Dominio de mensajes seleccionado.

Mensaje No No Deseleccionado Nombre o ubicación de la raíz de mensaje dentro del archivo de esquemas de modelos de mensaje. Esta lista se llena con todos los mensajes disponibles que se han definido en el Modelo de mensaje que ha seleccionado.
Formato físico No No Deseleccionado Nombre del formato físico del mensaje. Si está utilizando el analizador MRM o IDOC, seleccione el formato físico del mensaje de entrada de la lista. Esta lista incluye todos los formatos físicos que ha definido para este modelo de mensaje seleccionado. Si establece la propiedad Dominio de mensajes en DataObject, puede establecer esta propiedad en XML o IDoc ALE de SAP. Establezca esta propiedad en IDoc ALE de SAP cuando tenga que analizar una corriente de bits desde un origen externo y generar un árbol de mensajes.

Las propiedades de Opciones de analizador de nodo de RESTRequest se describen en la tabla siguiente.

Propiedad M C Valor predeterminado Descripción
Temporización del análisis No No A petición Esta propiedad controla cuándo se analiza un mensaje de respuesta. Los valores válidos son A petición, Inmediato y Completo.

Para obtener una descripción completa de esta propiedad, consulte Análisis de demanda.

Crear árbol utilizando los tipos de datos de esquema XML No No Deseleccionado Esta propiedad controla si el analizador XMLNSC crea elementos de sintaxis en el árbol de mensajes con tipos de datos obtenidos del esquema XML. Esta propiedad sólo se puede seleccionar si se establece la propiedad Validar del separador Validación en Contenido o Contenido y valor.
Utilizar analizador compacto XMLNSC para dominio XMLNS No No Deseleccionado Esta propiedad controla si el analizador compacto XMLNSC se utiliza para mensajes en el dominio XMLNS. Si establece esta propiedad, los datos del mensaje de respuesta aparecerán bajo XMLNSC en los nodos que estén conectados al terminal de salida cuando la cabecera MQRFH2 de entrada o el Dominio de las propiedades de Análisis de mensajes de respuesta sea XMLNS.
Retener el contenido mixto No No Deseleccionado Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra texto mixto en un mensaje de respuesta. Si selecciona el recuadro, se crean elementos para el texto mixto. Si deselecciona el recuadro de selección, se ignora el texto mixto y no se crea ningún elemento.
Retener los comentarios No No Deseleccionado Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra comentarios en un mensaje de respuesta. Si selecciona el recuadro, se crean elementos para los comentarios. Si deselecciona el recuadro, los comentarios se ignoran y no se crea ningún elemento.
Retener las instrucciones de proceso No No Deseleccionado Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra instrucciones de proceso en un mensaje de respuesta. Si selecciona el recuadro, se crean elementos para las instrucciones de proceso. Si deselecciona el recuadro, las instrucciones de proceso se ignoran y no se crea ningún elemento.
Elementos opacos No No Espacio en blanco Esta propiedad se utiliza para especificar una lista de elementos en el mensaje de respuesta que se analizan opacamente por el analizador XMLNSC. El análisis opaco solo se realiza si la validación no está habilitada (es decir, si la propiedad Validar se establece en Ninguno); las entradas que se especifican en Elementos opacos se ignoran si la validación está habilitada.

Las propiedades de validación de nodo de RESTRequest se describen en la tabla siguiente.

Para obtener una descripción completa de estas propiedades, consulte Propiedades de validación.

Propiedad M C Valor predeterminado Descripción Propiedad del mandato mqsiapplybaroverride
Validar No Ninguno Esta propiedad controla si tiene lugar la validación. Los valores válidos son Ninguno, Contenido y valor, Contenido y Heredar. validateMaster
Acción para anomalía No No Excepción Esta propiedad controla 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.  
Las propiedades de supervisión del nodo se describen en la siguiente tabla.
Propiedad M C Valor predeterminado Descripción
Sucesos No No Ninguna En este separador se visualizan los sucesos que ha definido para el nodo. De forma predeterminada, no se define ningún suceso de supervisión en ningún nodo en un flujo de mensajes. Utilice Añadir, Editary Suprimir para crear, cambiar o suprimir sucesos de supervisión para el nodo; consulte Configuración de orígenes de sucesos de supervisión utilizando propiedades de supervisión para obtener detalles.

Puede habilitar e inhabilitar sucesos que se muestran aquí seleccionando o deseleccionando el recuadro Habilitado.

Alteraciones temporales del entorno Local

Puede alterar dinámicamente los valores establecidos en el entorno local del mismo modo que se establecen valores en otros elementos de un mensaje. Para obtener más información, consulte Utilización de variables de entorno local con nodos REST.