DataPower API Gateway

Validar - DataPower API Gateway

Utilice la política Validar para validar la carga útil en un flujo de ensamblaje con respecto a un esquema.

Soporte de pasarela

Nota: Esta página describe la implementación de la política Validar en DataPower® API Gateway. Si utiliza DataPower Gateway (v5 compatible), consulte Validar- DataPower Gateway (compatible conv5 ).

Para obtener información sobre los distintos tipos de pasarela, consulte API Connecttipos de pasarela.

Tabla 1. Tabla que muestra qué pasarelas soportan esta política y la versión de política correspondiente
Pasarela Versión de política
DataPower API Gateway 2.0.0

2.1.0 (DataPower API Gateway Versión 10.0.1.0 o posterior)

2.2.0 (DataPower API Gateway Versión 10.0.2.0 o posterior)

2.3.0 (DataPower API Gateway Versión 10.0.2.0 o posterior)

2.4.0 (DataPower API Gateway Versión 10.0.4.0 o posterior)

2.5.0 (DataPower API Gateway Versión 10.5.0.0 o posterior)

2.6.0 (DataPower API Gateway Versión 10.5.0.2 o posterior

2.7.0 (DataPower API Gateway Versión 10.5.0.3 o posterior

En este tema se describe cómo configurar la política en la interfaz de usuario de ensamblaje. Para obtener detalles sobre cómo configurar la política en el origen de OpenAPI , consulte validate- DataPower API Gateway.

Acerca de

Coloque esta política donde sea necesario en el flujo de ensamblaje como se indica a continuación:
  • Para validar la entrada original, coloque una política Validar al principio del flujo.
  • Para validar una respuesta intermedia que se devuelve de otras acciones o tareas de invocación, coloque una política Validar después de esas acciones o tareas.
  • Para validar la respuesta que se devuelve a la aplicación cliente, coloque una política Validar después de la tarea que clasifica la respuesta.
Nota: Con DataPower API Gateway, la entrada de la política Validar deben ser datos analizados. Una forma de generar datos analizados es utilizar una política Analizar antes de una política Validar en el flujo de ensamblaje, que proporciona un control explícito de la acción de análisis.

Propiedades

En la tabla siguiente se listan las propiedades de política, se indica si se requiere una propiedad, y se especifica los valores válidos y predeterminados para la entrada, así como el tipo de datos de los valores.

Tabla 2. Propiedades de política de Validar
Etiqueta de propiedad Obligatorio Descripción Tipo de datos
Título El título de la política.

El valor predeterminado es validate.

serie
Descripción Nee Una descripción de la política. serie
Entrada Nee Especifica el nombre de una variable en el contexto de la API. El contenido del campo body de la variable, que se representa mediante variable_name.body, son los datos de entrada que se deben validar. De forma predeterminada, el nombre de variable es message. serie
Salida Nee Especifica el nombre de una variable en el contexto de la API.
  • Si se pasa la validación, el campo de cuerpo de la variable de salida, que se representa mediante variable_name.body, almacena la salida de la acción de validación de ensamblaje.
  • Si el esquema que se ha de validar es un esquema JSON, la validación también añade cualquier valor predeterminado que no se encuentre en la carga útil.
  • Si falla la validación, no se almacena ninguna salida.
  • Si no se especifica una variable de salida, los resultados de la acción de validación del ensamblaje no se guardan.
serie
Validar contra Especifica el esquema que se va a utilizar para validar la carga útil.
Seleccione uno de los valores siguientes:
  • definition: seleccione este valor si desea utilizar un esquema definido anteriormente para validar la carga útil devuelta de otras tareas o acciones de invocación del flujo de ensamblaje.

    En la lista Objeto de definición, seleccione el esquema necesario. Para obtener información sobre cómo definir un esquema para una definición de API de OpenAPI 2.0 , consulte Definición de definiciones de esquema para una API. Para obtener información sobre cómo definir un esquema para una definición de API de OpenAPI 3.0 , consulte Definición de componentes de esquema.

  • URL: el esquema se identifica mediante una ubicación de URL.
    • En el campo URL de esquema JSON especifique el URL del esquema JSON que se va a utilizar para validar una carga útil de JSON.
    • En la lista Modalidad de validación de XML seleccione cómo se va a realizar la validación de XML:
      • None: no es necesaria ninguna validación de carga útil XML.
      • xsd: se utilizará un esquema XML para validar una carga útil XML. En el campo URL de esquema XML especifique el URL del esquema XML.
      • wsdl: se utilizará un esquema WSDL para validar una carga útil SOAP. En el campo URL de WSDL, especifique el URL del esquema WSDL.
      • soap-body: validar el cuerpo de un mensaje SOAP sólo con respecto al esquema XML.
      Nota: Las siguientes limitaciones se aplican a los esquemas utilizados para la validación de JSON, que incluyen esquemas JSON y documentos OpenAPI que se utilizan como esquemas para la validación. La superación de estos límites puede influir en el rendimiento de la compilación y no está soportada.
      • Máximo de 6.500 líneas. Cada clave y cada elemento de una matriz se contabilizan como una línea.
      • Profundidad de recurrencia máxima de 250.
      • Máximo de 3.000 elementos en listas enum.
  • WSDL: (disponible sólo con una API basada en servicio SOAP) utilizar el esquema XML en el archivo WSDL asociado a la operación de API o la vía de acceso de API.
  • body-param: validar la entrada de solicitud contra la definición de esquema especificada en el campo TIPO del parámetro de solicitud de esta operación. Para obtener información sobre cómo crear un parámetro de solicitud, consulte Definición de parámetros para una operación.
  • response-param: validar la respuesta que se va a devolver a la aplicación de cliente contra la definición de esquema especificada en el campo ESQUEMA del parámetro de respuesta de esta operación. Para obtener información sobre cómo crear un parámetro de respuesta, consulte Definición de respuestas para una operación.
  • GraphQL: (disponible sólo con una API de proxy de GraphQL) validar la carga útil contra el esquema GraphQL que se ha importado en la API de proxy de GraphQL. Además, la consulta o respuesta de GraphQL, en función de la entrada, se analiza con el esquema GraphQL para calcular el coste, y el resultado se coloca en el contexto de la API.

    Para obtener más información sobre las API de proxy de GraphQL , consulte Creación de una API de proxy de GraphQL y las variables de contexto de GraphQL.

serie
Versión de XSLT Nee La versión del procesador XSLT. El valor predeterminado es XSLT10. serie
Estricto Nee Indica si se debe habilitar la comprobación de errores XSLT estricta. Las operaciones no estrictas intentan recuperarse de ciertos errores, como uso de variables no declaradas, llamadas a plantillas no declaradas, etc. De forma predeterminada, la comprobación de errores XSLT estricta está habilitada. booleano
Regla de perfil Nee Indica si se debe habilitar la creación de perfiles de hoja de estilo. Esta opción no debe utilizarse en entornos de producción. De forma predeterminada, el perfilado de hojas de estilo está inhabilitado. booleano
Regla de depuración Nee Indica si se debe ejecutar la hoja de estilo, el script XQuery y el script JSONiq en modalidad de depuración. Cuando una hoja de estilo, un script XQuery o un script JSONiq se ejecuta en modalidad de depuración, genera una página web personalizada en lugar de mostrar su salida normal. La página web muestra detalles exactos sobre lo que ha ocurrido durante la ejecución, incluidos los valores de las variables y de dónde proceden determinadas partes de la salida. Esta opción no debe utilizarse en entornos de producción. De forma predeterminada, la modalidad de depuración está inhabilitada. booleano
Regla de transmisión Nee Si la hoja de estilo debe ejecutarse en modalidad continua. La transformación del documento comienza antes de que se haya analizado completamente la entrada. No todas las hojas de estilo se pueden transmitir. Si la hoja de estilo no se puede transmitir, se genera un error y no se procesa la entrada. De forma predeterminada, la modalidad de transmisión está inhabilitada. booleano
Regla de intento de transmisión Nee Indica si se debe intentar ejecutar la hoja de estilo en modalidad continua. La transformación del documento comienza antes de que se haya analizado completamente la entrada. No todas las hojas de estilo se pueden transmitir. Si la hoja de estilo no se puede transmitir, se genera un aviso durante la compilación y la hoja de estilo se lee en toda la entrada como es habitual en tiempo de ejecución. De forma predeterminada, el intento de ejecutar la hoja de estilo en modalidad de transmisión está inhabilitado. booleano
Regla de escape de salida mínimo Nee Indica si se debe escapar la salida producida de la hoja de estilo durante el proceso. El escape mínimo resulta especialmente útil cuando se manejan juegos de caracteres distintos del inglés. De forma predeterminada, el escape mínimo está inhabilitado. booleano
Tamaño máximo de pila Nee El número máximo de bytes que la pila puede utilizar al ejecutar una hoja de estilo u otro contenido compilado. Este valor se utiliza para bloquear la recurrencia infinita. El valor mínimo es 10 kilobytes o 10.240 bytes. El valor máximo es 100 megabytes o 104.857.600 bytes. El valor predeterminado es 1 megabyte o 1.048.576 bytes. entero
Validación de perfil básico de WS-I Nee El comportamiento de validación que se aplica a los archivos WSDL que se comprueban para la conformidad con la sección 5 de WS-I Basic Profile (versión 1.0, abril de 2004). El valor predeterminado es Avisar.
Ignorar
Inhabilita la comprobación de conformidad.
Avisos
Anota los avisos de violaciones.
Error
Impone conformidad. Falla si el archivo contiene alguna violación.
serie
Validar cuerpo del mensaje Nee El comportamiento de validación para soap:Body. El valor predeterminado es Estricto.
Estricto
Valida esta parte del mensaje respecto de la definición WSDL. Solo permite mensajes que contengan esta parte y que coincidan con la definición WSDL.
Laxo
Valida esta parte del mensaje respecto de la definición WSDL. Si el mensaje contiene esta parte y la definición WSDL no define esta parte, se permite el mensaje. Si el mensaje contiene esta parte y la definición WSDL define esta parte, solo se permite el mensaje cuando hay una coincidencia.
Omitir
Inhabilita la validación de esta parte del mensaje.
serie
Validar cabeceras de mensaje Nee

El comportamiento de validación para soap:Header. El valor predeterminado es Lax.

Estricto
Valida esta parte del mensaje respecto de la definición WSDL. Solo permite mensajes que contengan esta parte y que coincidan con la definición WSDL.
Laxo
Valida esta parte del mensaje respecto de la definición WSDL. Si el mensaje contiene esta parte y la definición WSDL no define esta parte, se permite el mensaje. Si el mensaje contiene esta parte y la definición WSDL define esta parte, solo se permite el mensaje cuando hay una coincidencia.
Omitir
Inhabilita la validación de esta parte del mensaje.
serie
Validar detalles de error de mensaje Nee Especifica el comportamiento de validación para el detalle de error. El valor predeterminado es Estricto.
Estricto
Valida esta parte del mensaje respecto de la definición WSDL. Solo permite mensajes que contengan esta parte y que coincidan con la definición WSDL.
Laxo
Valida esta parte del mensaje respecto de la definición WSDL. Si el mensaje contiene esta parte y la definición WSDL no define esta parte, se permite el mensaje. Si el mensaje contiene esta parte y la definición WSDL define esta parte, solo se permite el mensaje cuando hay una coincidencia.
Omitir
Inhabilita la validación de esta parte del mensaje.
serie
Requerir encapsuladores en los detalles de error especificados por tipo Nee Indica si se requiere compatibilidad con derivadores de estilo RPC. De forma predeterminada, no se requieren encapsuladores estilo RPC. booleano
Regla para permitir específicamente xsi:type='SOAP-ENC:Array' Nee Indica si se debe permitir que el esquema acepte la mayoría de los usos de elementos con xsi:type='SOAP-ENC:Array' coherente con SOAP 1.1 Sección 5, incluso cuando estos atributos violan la especificación de esquema XML. Normalmente, el atributo xsi:type debe nombrar un tipo igual o derivado del tipo real del elemento. Para esquemas compilados con esta opción, xsi:type se acepta específicamente para el tipo complejo SOAP 1.1 Encoding 'Array' si el tipo de elemento se deriva de SOAP-ENC:Array. Lo contrario es el caso normal permitido. De forma predeterminada, los elementos con xsi:type='SOAP-ENC:Array' no se aceptan. booleano
Validar regla de codificación SOAP 1.1 Nee Indica si se debe realizar una validación de esquema adicional siguiendo las reglas de codificación en SOAP 1.1 Sección 5. Cuando está habilitado, los miembros de matrices SOAP se validan, se permiten atributos como @id y @href aunque el esquema no los permita, y se comprueban los valores @href para garantizar que tengan un elemento @id correspondiente. De forma predeterminada, no se realiza la validación adicional. booleano
Regla xsi:type para ignorar caracteres comodín Nee Indica si los elementos xs:any del esquema validan sólo los elementos hijo por nombre. La especificación de esquema XML requiere que, si un comodín coincide con un elemento pero dicho elemento no tiene una declaración de elemento, el elemento se valide en su lugar según un atributo xsi:type . Esta opción ignora estos atributos xsi:type . Debe utilizarse en casos como la validación de sobres SOAP donde un paso de validación adicional validará el contenido que coincida con el carácter comodín, posiblemente utilizando las reglas de codificación SOAP 1.1. De forma predeterminada, los atributos xsi:type no se ignoran. booleano
Versión de sobre de SOAP estricto Nee Indica si se debe seguir estrictamente el enlace SOAP en el WSDL. Cuando esta opción está habilitada, solo los mensajes enlazados a SOAP 1.2 aparecen en sobres SOAP 1.2 y solo los mensajes enlazados a SOAP 1.1 aparecen en sobres SOAP 1.1. De forma predeterminada, el enlace SOAP estricto está inhabilitado. booleano
Política XACML de depuración Nee Indica si se deben compilar las políticas XACML con información de depuración. Tenga en cuenta que los mensajes de depuración XACML también están controlados por el suceso de registro en la categoría XACML. Utilice el nivel de registro de depuración para ver los mensajes de depuración XACML completos. De forma predeterminada, las políticas XACML no se compilan con información de depuración. booleano
Aceptar mensajes optimizados de MTOM/XOP Nee Especifica si el documento de esquema o WSDL acepta mensajes en los que el contenido binario codificado en base64 se ha optimizado según las especificaciones MTOM/XOP. La optimización binaria XOP sustituye los datos binarios base64-encoded por un elemento de referencia xop:Include que hace referencia a los datos binarios no codificados ubicados en un archivo adjunto. De forma predeterminada, los mensajes optimizados de MTOM/XOP están inhabilitados.
  • Cuando está inhabilitada, la validación del formato optimizado rechaza estos mensajes optimizados. El rechazo se produce porque el esquema especifica un tipo simple que acepta datos base64-encoded , como xs:base64Binary o xs:string, pero el mensaje contiene un elemento xop:Include en su lugar.
  • Cuando está habilitado, un elemento xop:Include puede aparecer opcionalmente en lugar de contenido para cualquier tipo simple de esquema XML que valide datos binarios base64-encoded . El propio elemento xop:Include se validará de acuerdo con el esquema incorporado en store:///schemas/xop.xsd.
booleano
Para obtener ejemplos, consulte validate- DataPower API Gateway.