Propiedades de API

La pasarela utiliza las propiedades para controlar el comportamiento de ciertas políticas. Normalmente, las propiedades las proporciona el usuario, pero la política también puede proporcionar valores de propiedades.

En IBM® API Connect, puede crear propiedades de API que consten de valores específicos de catálogo para eliminar la necesidad de modificaciones de código fuente. De este modo puede hacer referencia a las propiedades en otras partes de la definición de API.

Propiedades de la API

En las tablas se muestran las propiedades de API proporcionadas previamente para diferentes políticas.

Lista de propiedades de API relacionadas con la invocación que controlan el comportamiento de la política de invocación.
Tabla 1. Propiedades que controlan la política de invocación
Propiedad Obligatorio Descripción Tipo de datos
DataPower Gateway (Classic)
onlyx-ibm-gateway-decode-request-params Nee Si se establece en un valor true, los parámetros de solicitud referenciados por una definición de variable o un URL de destino de invocación se descodifican por URL. El comportamiento predeterminado consiste en no descodificar los parámetros, enviándolos por lo tanto al URL de destino sin modificar. Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-invoke-suppress-clientid Nee Cuando se establece en un valor true o no se especifica, la cabecera HTTP X-IBM-Client-Id (si se especifica en la solicitud de API) se suprime del envío al URL de destino de invocación. Cuando se establece en un valor false, la cabecera HTTP X-IBM-Client-Id ya no se suprime del envío al URL de destino de invocación.

Esta propiedad sólo está soportada por DataPower® Gateway (v5 compatible). Si utiliza DataPower API Gateway , para conseguir la misma funcionalidad, añada una propiedad header-control a la configuración de política invoke en la definición OpenAPI para la API, como en los ejemplos siguientes.

Suprima la cabecera de X-Client-ID de la manera siguiente:
- invoke:
    target-url: http://myhostname/mypath
    header-control:
        type: blacklist
        values:
            - ^X-Client-ID$
Suprima el parámetro de consulta userId de la manera siguiente:
- invoke:
    target-url: http://myhostname/mypath
    parameter-control:
        type: blacklist
        values:
            - ^userId$
Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-optimize-invoke Nee Si se establece en false, impide la sustitución de la última invoke de una política por proxy. Cualquier otro valor que no sea false (no sensible a mayúsculas/minúsculas) provocará la posible sustitución de la última invocación de una política por proxy cuando la API se ejecuta en la pasarela. Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-queryparam-encode-plus-char Nee Si se establece en un valor true, todos los caracteres + de los valores de los parámetros de consulta del target-url de las políticas Invoke y Proxy se codifican a %2F.

El valor predeterminado es false.

Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-api-enforce-response-limits Nee Si se establece en un valor true, permite imponer el analizador JSON en la regla de respuesta. Si el tamaño del cuerpo de respuesta es mayor que el límite del analizador JSON establecido en el dominio DataPower , se devuelve un código de estado de 500.
Nota: La propiedad x-ibm-gateway-api-enforce-response-limits está soportada por DataPower Gateway (v5 compatible) pero no por DataPower API Gateway. Sin embargo, si usted está utilizando el ' DataPower API Gateway, considere el uso de una política Parse en su ensamblaje API para hacer cumplir estos límites.

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

Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-invoke-emulate-v4-soap-error Nee IBM API Management Version 4.0 inicia un error DataPower cuando se devuelve un error SOAP de un servicio web. IBM API Connect proporciona un mecanismo para capturar errores SOAP y no inicia un error DataPower . Para mantener la compatibilidad con las API desarrolladas en IBM API Management Version 4.0, establezca esta propiedad en true sólo en el caso en el que una extensión de pasarela espera manejar un error SOAP en una regla de error posterior.

El valor predeterminado es false.

Nota: Esta propiedad está en desuso en favor de x-ibm-gateway-invoke-emulate-v4-invoke-error.
Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-invoke-keep-payload Nee Si se establece en un valor true, la política de invocación envía una carga útil en un método DELETE de HTTP. Esta propiedad está disponible para su uso con IBM DataPower Gateway versión 7.7.1.1 y posteriores.

El valor predeterminado es false.

Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-invoke-emulate-v4-invoke-error Nee IBM API Management Version 4.0 inicia un error DataPower cuando se devuelve un error de servidor de fondo, ya sea un error SOAP devuelto de un servicio web o un error JSON o XML (no SOAP) de un servicio restful. IBM API Connect proporciona un mecanismo para capturar errores SOAP y errores de operación y no inicia un error DataPower cuando se producen. Si no se configura ninguna política de captura, se genera un mensaje de error genérico. Para la compatibilidad con las API desarrolladas en IBM API Management Version 4.0, establezca esta propiedad en true sólo en el caso en el que una extensión de pasarela espera manejar un error de servidor de fondo en una regla de error posterior de extensión de pasarela o si el cliente de la API espera que se devuelva el error de servidor de fondo.

El valor predeterminado es false.

Booleano
Lista de propiedades de API relacionadas con la correlación que controlan el comportamiento de la política de correlación.
Tabla 2. Propiedades que controlan la política de correlación
Propiedad Obligatorio Descripción Tipo de datos
DataPower Gateway (Classic)
onlyx-ibm-gateway-map-array-first-element-value Nee En IBM API Management Version 4.0, si un valor de origen de correlación es de una matriz, sólo se genera el primer valor. En API Connect, el comportamiento predeterminado es devolver una matriz de todos los valores de elemento de matriz. Para mantener la compatibilidad con IBM API Management Version 4.0, establezca esta propiedad de API en true para que sólo devuelva el primer valor de elemento de matriz. Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-map-resolve-apic-variables Nee De forma predeterminada, se resuelve cualquier variable API Connect que se encuentre en la configuración del mapa. Por ejemplo, $(request.headers.content-type) se resuelve en la cabecera del tipo de contenido de la solicitud. Debido a que la búsqueda de las variables en cada propiedad de correlación puede ser intensiva en CPU, puede optar por no resolver variables estableciendo esta propiedad de API en false. Si esta propiedad no está configurada o se establece en otro valor, el continúa el comportamiento existente para buscar estas variables. Tenga en cuenta que el uso de variables dentro de un fragmento de código JavaScript de valor de correlación no cambia suponiendo que las variables a las que se hace referencia vengan de una entrada de correlación configurada. Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-map-create-empty-array Nee Esta propiedad controla cómo maneja la política de correlación la salida de una matriz vacía; puede tener los valores siguientes:
  • all: salida de todas las matrices vacías, incluidas las matrices hijas vacías. Este es el valor predeterminado si la propiedad no está configurada o tiene un valor no válido.
  • parent: generar sólo el valor de matriz vacío de la propiedad actual. No se intentan acciones de correlación hijas de esta propiedad.
  • none: impide que se generen valores de matriz de salida vacíos.
Serie
DataPower Gateway (Classic)
onlyx-ibm-gateway-optimize-schema-definition Nee Establezca el valor de esta propiedad en true para proporcionar una mejora de rendimiento a la política de correlación cuando una definición de salida de política hace referencia a una definición de un esquema muy complejo, por ejemplo unos esquemas muy complejos generados al importar un esquema WSDL muy complejo.

La política de correlación crea un esquema a partir de una definición de API cuando se proporciona una definición referenciada como el valor del esquema. Si el esquema no tiene referencias que generen una referencia circular, el establecimiento de esta propiedad en true podría mejorar el rendimiento al generar el mismo esquema que se habría generado de otro modo. Sin embargo, en casos en los que el esquema es muy complejo, con muchas posibles referencias circulares, el esquema generado podría ser diferente porque el manejo de esquema mejorado procesa las referencias circulares de forma diferente. Por lo tanto, en estos casos debe examinar la salida resultante para determinar si la mejora del rendimiento ganada no se produce a expensas de un cambio en la salida de la política de correlación.

El valor predeterminado de esta propiedad es false, lo que mantiene el comportamiento y el rendimiento existentes.

Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-map-null-value Nee Establezca el valor de esta propiedad de API en true para permitir que una propiedad de los datos de entrada de una política de correlación con un valor null se correlacione con el documento de salida. De forma predeterminada, una propiedad de los datos de entrada de una política de correlación con un valor null no se correlaciona con el documento de salida. Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-map-resolve-xmlinput-datatypes Nee Los elementos de entrada XML con datos numéricos o booleanos no tienen metadatos que indiquen si esos datos se deben correlacionar como valor de serie o como tipo de datos específico. Si establece el valor de esta propiedad en false, los elementos de entrada XML se correlacionan siempre como una serie. Si establece el valor en true, los elementos de entrada XML numéricos o booleanos se correlacionan como el tipo de datos correspondiente a partir del esquema de entrada.

El valor predeterminado es false.

Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-map-xml-empty-element Nee Esta propiedad controla cómo la política de correlación maneja los elementos vacíos de entrada XML y afecta a la salida JSON cuando el documento de entrada es XML; puede tener los valores siguientes:
  • string: el valor de un elemento XML vacío se considera una serie vacía. Este es el valor predeterminado si la propiedad no está configurada o tiene un valor no válido.
  • null: el valor de un elemento XML vacío se considera nulo. La correlación de este elemento con una propiedad de salida JSON no se produce a menos que la propiedad de API x-ibm-gateway-map-null-value también se especifique con un valor true.
  • none: se ignora el elemento XML vacío.
  • string-badgerfish: el valor de un elemento XML vacío se considera una serie vacía. El valor de serie vacía se colocará en una propiedad de valor JSON badgerfish.
  • null-badgerfish: el valor de un elemento XML vacío se considera nulo. El valor nulo se colocará en una propiedad de valor JSON badgerfish. La correlación de este elemento con una propiedad de salida JSON no se produce a menos que la propiedad de API x-ibm-gateway-map-null-value también se especifique con un valor true.
Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-schema-definition-reference-limit Nee Establezca el valor de esta propiedad en un valor entero que especifique el número máximo permitido de iteraciones de una definición de esquema circular.

El valor predeterminado es 1, lo que significa que no se permiten las definiciones de esquema circular. El valor máximo posible es 5. Si especifica un valor mayor que 5, se asume un valor de 5. Si especifica un valor no numérico, se adopta el valor 1.

Serie
DataPower Gateway (Classic)
onlyx-ibm-gateway-map-emulate-v4-default-required-properties Nee Establezca esta propiedad en true para que se generen los valores predeterminados en la salida de las propiedades necesarias que no están correlacionadas, o para las que no existen datos de entrada, en los casos específicos siguientes:
  • Una matriz consta de objetos que contienen una o varias propiedades necesarias.
  • Un objeto que sea opcional tiene una o varias propiedades hijo que son necesarias.

De forma predeterminada, estas propiedades necesarias no están presentes en la salida. Si establece la propiedad de API x-ibm-gateway-map-emulate-v4-default-required-properties en true, estas propiedades necesarias estarán presentes en la salida. Si el esquema de salida define una propiedad default para la propiedad de salida, se utiliza el valor predeterminado especificado, de lo contrario, se asigna un valor predeterminado que depende del tipo de datos, como se indica a continuación:

  • String: serie vacía ("")
  • Number: 0
  • Boolean: false
  • Object: objeto vacío
  • Array: matriz vacía
Ejemplo 1
Los datos de entrada tienen la matriz de objetos siguiente:
[{“a”: “value1”}, {“a”: “value2", "b": “value3”}]

El esquema de salida define que el objeto de salida tiene dos propiedades, a y b, de las cuales b es necesaria. La política map define las correlaciones siguientes:

  • input.array.a a output.array.a
  • input.array.b a output.array.b

Si la propiedad de API x-ibm-gateway-map-emulate-v4-default-required-properties se establece en true y no se ha correlacionado b, o no tiene datos de entrada, entonces a b se le asigna un valor predeterminado de una serie vacía y la salida es la que se indica a continuación:

[{“a”: “value1", "b": ""}, {"a": "value2", "b": "value3"}]
Ejemplo 2
El esquema de salida define la estructura siguiente:
{"a" : {"b" : {"c" : "value1", "d" : "value2"} } }

La propiedad b es opcional pero la propiedad d contenida en b es necesaria.

La política map define una correlación para output.a.b.c.

Si la propiedad de API x-ibm-gateway-map-emulate-v4-default-required-properties se establece en true y d no está correlacionado, entonces a d se le asigna una valor predeterminado de una serie vacía, y la salida es la que se indica a continuación:

{"a" : {"b" : {"c" : "value1", "d" : ""} } }

Si la propiedad de la API x-ibm-gateway-map-emulate-v4-default-required-properties no se ha especificado o no tiene un valor de true, no se crean estas propiedades necesarias con sus valores predeterminados en la salida.

Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-map-post-process-json-output Nee Establezca el valor de esta propiedad en true para habilitar el postproceso de la salida JSON correlacionada. El procesamiento posterior de la salida JSON utilizará el esquema de salida para garantizar que los valores de propiedad tienen el mismo tipo de datos que se ha definido en el esquema. También se normalizarán los valores de propiedad de salida que tienen una sintaxis JSON Badgerfish debido a la correlación de objetos de una entrada XML. Establezca el valor en false para no realizar postproceso de la salida JSON correlacionada.

El valor predeterminado es false.

Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-map-emulate-v4-empty-json-object Nee Si una correlación falla porque su entrada no está presente y no hay ninguna correlación predeterminada configurada, el comportamiento predeterminado es no realizar ningún cambio en la correlación de salida. Establezca el valor de esta propiedad en true para crear un objeto vacío para el padre de la correlación de destino, emulando el comportamiento de IBM API Management Version 4.0.
Ejemplo
La política map define una correlación para output.a.b.c.
Si hay datos de entrada presentes, la salida es la siguiente:
{
  "a": {
    "b": {
      "c": "inputvalue"
    }
  }
}
Si no hay datos de entrada y la propiedad de API x-ibm-gateway-map-emulate-v4-empty-json-object se establece en true, la salida es la siguiente:
{
  "a": {
    "b": {
    }
  }
}
Las propiedades a y b se crean, pero el valor de b es un objeto vacío.

El valor predeterminado es false.

Booleano
Solo DataPower Gateway (Classic)Lista de propiedades de API relacionadas con proxy que controlan el comportamiento de la política de proxy.
Tabla 3. Propiedades que controlan la política de proxy
Propiedad Obligatorio Descripción Tipo de datos
x-ibm-gateway-proxy-suppress-clientid Nee Un valor false activa la inyección en el target-url de proxy de la cabecera HTTP X-IBM-Client-Id (si se especifica en la solicitud de API) o el parámetro de consulta client_id del URL de solicitud. Si no se especifica o se establece en un valor true, se suprime el envío de este parámetro al target-url de proxy.

Esta propiedad sólo está soportada por DataPower Gateway (v5 compatible). Si utiliza DataPower API Gateway , para conseguir la misma funcionalidad, añada una propiedad header-control a la configuración de política invoke en la definición OpenAPI para la API, como en los ejemplos siguientes.

Suprima la cabecera de X-Client-ID de la manera siguiente:
- proxy:
    target-url: http://myhostname/mypath
    header-control:
        type: blacklist
        values:
            - ^X-Client-ID$
Suprima el parámetro de consulta userId de la manera siguiente:
- proxy:
    target-url: http://myhostname/mypath
    parameter-control:
        type: blacklist
        values:
            - ^userId$
Booleano
x-ibm-gateway-optimize-invoke Nee Si se establece en false, impide la sustitución de la última invoke de una política por proxy. Cualquier otro valor que no sea false (no sensible a mayúsculas/minúsculas) provocará la posible sustitución de la última invocación de una política por proxy cuando la API se ejecuta en la pasarela. Booleano
x-ibm-gateway-queryparam-encode-plus-char Nee Si se establece en un valor true, todos los caracteres + de los valores de los parámetros de consulta del target-url de las políticas Invoke y Proxy se codifican a %2F.

El valor predeterminado es false.

Booleano
x-ibm-gateway-api-enforce-response-limits Nee Si se establece en un valor true, permite imponer el analizador JSON en la regla de respuesta. Si el tamaño del cuerpo de respuesta es mayor que el límite del analizador JSON establecido en el dominio DataPower , se devuelve un código de estado de 500. Booleano
Una lista de propiedades de API que controlan el comportamiento de la política de límite de velocidad.
Tabla 4. Propiedades que controlan la política de límite de velocidad
Propiedad Obligatorio Descripción Tipo de datos
x-ibm-gateway-emulate-v4-plan-rate-limit Nee De forma predeterminada, en IBM API Connect Version 10, si configura un límite de velocidad sólo para un plan y no para las operaciones de API dentro del plan, se establece un único umbral de límite de velocidad para la API en su conjunto, independientemente de la operación que se solicite en la API. Este comportamiento difiere de IBM API Management Version 4.0 donde el límite de velocidad se establece individualmente para cada operación en la API. Para cambiar el comportamiento de la versión 10 y emular el comportamiento de la versión 4.0, establezca esta propiedad de API en el valor true. Booleano
Lista de propiedades de API que controlan el comportamiento de varias políticas.
Tabla 5. Propiedades que controlan varias políticas
Propiedad Obligatorio Descripción Tipo de datos
DataPower Gateway (Classic)
onlyx-ibm-gateway-sourcecode-resolve-apic-variables Nee Si se establece en true, se resuelven las referencias de variable API Connect . Establézcalo en false si desea que la política ignore las referencias de variable API Connect .

El valor predeterminado es true.

Esta propiedad se aplica a las políticas siguientes:
  • Correlación
  • GatewayScript
  • XSLT
  • si
  • conmutador
Nota: Este valor de propiedad se altera temporalmente mediante el valor de propiedad de la API x-ibm-gateway-map-resolve-apic-variables para la política de correlación.
Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-api-json-parse-error-handling Nee Si una carga útil de solicitud o respuesta de API incluye contenido JSON válido que contiene caracteres que no se pueden representar en la sintaxis interna XML de JSONX que utiliza DataPower Gateway, establezca esta propiedad en escape-unicode para permitir que se acepte la carga útil sin errores de análisis. Si esta propiedad no está configurada o se establece en otro valor, la carga útil se rechaza como JSON no válido.

Esta propiedad se aplica a la carga útil de la solicitud de API y a la carga útil de la respuesta de API cuando se habilita x-ibm-gateway-api-enforce-response-limits.

Serie
DataPower Gateway (Classic)
onlyx-ibm-gateway-framework-preserve-escaped-reverse-solidus Nee De forma predeterminada, la serie \\ en una propiedad de política se convierte a un único carácter \. Establezca esta propiedad en true para conservar la serie \\. Booleano
DataPower Gateway (Classic)
onlyx-ibm-gateway-inspect-request-headers Nee Provoca una inspección de las cabeceras HTTP de la solicitud de API para buscar en la cabecera caracteres XML ilegales; puede tener los valores siguientes:
  • default: No se realiza ninguna inspección de estos caracteres en los valores de cabecera. Si existe alguno, la solicitud de API falla con un error interno del servidor HTTP 500.
  • sanitize: Los caracteres XML ilegales en los valores de cabecera se sustituyen por un carácter ?. El proceso de la API continuará. Cualquier API que intente leer request.headers.<headername> verá el carácter ? en el valor. Sin embargo, las cabeceras de protocolo originales que representan message.headers seguirán conteniendo el carácter original, que se enviará a un servidor de fondo de invocación o proxy.
  • bad-request: Se realizará una inspección de estos caracteres en los valores de cabecera. Si existe alguno, la solicitud de API fallará con un error HTTP 400 Solicitud incorrecta.

El valor predeterminado es default.

Booleano