Nodo RESTRequest
Utilice el nodo RESTRequest para emitir solicitudes síncronas a las API REST externas.
- Desarrollador
- Application Integration Suite
- Estándar
- Avanzada
- Express
- Scale
- Adaptador
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:
Utilización del nodo RESTRequest en un flujo de mensajes
El nodo RESTRequest se puede utilizar en un flujo de mensajes para invocar una API REST. Para obtener información sobre cómo utilizarlo, consulte Llamada a las API REST utilizando el 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 | Sí | 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 | Sí | No | El nombre de la operación de la API REST que desea invocar. | ||
Identidad de seguridad | No | Sí | 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:
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) | Sí | Sí | 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 | Sí | 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 | Sí | 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 recurso |
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 | Sí | Seleccionado | Utilice el mantenimiento de activado de HTTP/1.1 | enableKeepAlive |
Usar compresión | No | Sí | 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 | Sí | TLS | Protocolo SSL a utilizar al realizar una solicitud HTTPS. | protocol |
Cifrados SSL permitidos | No | Sí | 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 | Sí | 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 | Sí | (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 | Sí | 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 | Sí | 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 | Sí | 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 | Sí | 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. |
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.