Estás consultando la documentación de Apigee Edge.
Consulta la
documentación de Apigee X. Información
El martes 30 de agosto de 2016, lanzamos una nueva versión de Apigee Edge para la nube pública.
Nuevas funciones y actualizaciones
A continuación, presentamos las nuevas funciones y actualizaciones de esta versión.
Cargas útiles de JSON en la asignación de mensaje y la generación de errores
Con esta mejora, no se necesitan soluciones alternativas para garantizar un formato de mensaje JSON adecuado, y se pueden especificar las variables con llaves sin crear un JSON no válido. Por ejemplo, a continuación se inserta el valor de message.content en el mensaje JSON:
<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>
Si utilizaste una solución alternativa, tu código seguirá funcionando tal como está. También puedes usar variablePrefix y variableSuffix en lugar de llaves para indicar las variables.
Consulta el elemento <Set><Payload> en los documentos de referencia de la política de Asignar mensajes y de la Política de generación de errores. (APIRT-1160).
Mejoras en la política de XML a JSON
La política de XML a JSON se mejoró con las siguientes capacidades. Puedes configurar la política para lo siguiente:
- Trata algunos elementos XML como arrays durante la conversión, lo que coloca los valores entre corchetes “[ ]” en el documento JSON.
- Quita o elimina los niveles de la jerarquía del documento XML en el documento JSON final.
Para obtener más información, consulta la política de XML a JSON. (APIRT-1144).
Varios comodines en las rutas de acceso de los recursos de productos de API
Cuando defines rutas de acceso a recursos en un producto de API, puedes incluir comodines en varios lugares de una ruta de acceso a recursos. Por ejemplo, /team/*/invoices/**
permite llamadas a la API con cualquier valor después de /team
y cualquier ruta de acceso a recursos después de invoices/
. Un URI permitido en una llamada a la API sería proxyBasePath/team/finance/invoices/company/a
.
Si después de este lanzamiento las rutas de recursos del producto de API existentes dejan de funcionar como se espera, configura
la siguiente propiedad en tu organización para volver al comportamiento
anterior: features.enableStandardWildCardMatchForAPIProductResources = true
(MGMT-3273)
Funciones criptográficas en JavaScript
Hay disponible un nuevo conjunto de funciones crypto
de JavaScript de alto rendimiento para crear, obtener y actualizar los siguientes elementos: MD5, SHA-1, SHA256 y SHA512.
El objeto crypto también te permite obtener la fecha en varios formatos. Para obtener más información, consulta el modelo de objetos de JavaScript.
(APIRT-2886).
Comprobación de la versión de JAR del texto destacado de Java
Cuando se sube un recurso JAR de Java a un proxy de API, se muestra un código de estado HTTP 400 (en lugar de 500) si la versión del recurso Java no es compatible con la versión de Java compatible con Edge que se indica en Software y versiones compatibles. (MGMT-3420)
Validación de recursos de proxy de API
Cuando tienes archivos de recursos del proxy de la API (como los archivos JAR de JavaScript o Java) almacenados en el permiso de la organización o del entorno, el framework de validación ya no requiere que incluyas esos recursos en el nivel del proxy de la API en un paquete de proxy para que la importación pase la validación. La validación de recursos ahora ocurre en el momento de la implementación, no en el de la importación. (MGMT-1430)
Configura el tiempo de espera para proxies de API individuales
Puedes configurar los proxies de API para que se agote el tiempo de espera después de un tiempo especificado (con un estado de tiempo de espera
de la puerta de enlace 504). El caso de uso principal es para clientes de la nube privada que tienen proxies de API que tardan
más en ejecutarse. Por ejemplo, supongamos que necesitas proxies específicos para que se agote el tiempo de espera a los 3 minutos. Puedes usar una nueva propiedad api.timeout
en la configuración de un proxy de API. Aquí te mostramos cómo hacerlo con el ejemplo de 3 minutos:
- Primero, asegúrate de configurar el balanceador de cargas, el router y el procesador de mensajes para que se agote el tiempo de espera después de 3 minutos.
- Luego, configura los proxies relevantes para que se agote el tiempo de espera a los 3 minutos. Especifica el valor en
milisegundos. Por ejemplo:
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <!-- api.timeout is in milliseconeds --> <Property name="api.timeout">180000</Property> </Properties> ...
- Sin embargo, ten en cuenta que aumentar los tiempos de espera del sistema podría provocar problemas de rendimiento, ya que todos los proxies sin una configuración de api.timeout usan los tiempos de espera nuevos del balanceador de cargas, del router y del procesador de mensajes más alto. Por lo tanto, configura otros proxies de API que no requieran tiempos de espera más largos para utilizar tiempos de espera más bajos. Por ejemplo, lo siguiente configura un proxy de API para que se agote el tiempo de espera después de 1 minuto:
<Property name="api.timeout">60000</Property>
Los clientes de Cloud, que no pueden modificar los tiempos de espera de Edge, también pueden configurar un tiempo de espera de proxy de API, siempre que el tiempo de espera sea menor que el tiempo de espera estándar del procesador de mensajes Edge de 57 segundos.
No puedes propagar el valor con una variable. Esta propiedad se aborda en la referencia de propiedades de extremos. (APIRT-1778).
Política de TLS/SSL para el registro de mensajes
<KeyStore>
y <TrustStore>
se pueden establecer en la
configuración SSLInfo
de la política de Registro de mensajes,
lo que permite TLS/SSL unidireccional y bidireccional con un servicio de registro. Puedes configurar SSLInfo en la política de Registro de mensajes de la misma manera que lo harías en un
TargetEndpoint del proxy. Sin embargo, TLS/SSL de Logging solo admite el protocolo TCP.
(APIRT-1858)
Fallas corregidas
En esta versión, se corrigieron los siguientes errores. Esta lista está dirigida principalmente a usuarios que verifican si sus tickets de asistencia se corrigieron. No está diseñada para proporcionar información detallada a todos los usuarios.
ID del problema | Descripción |
---|---|
SECENG-609 | Las llamadas en tiempo de ejecución no fallan durante la eliminación del almacén de confianza asociado o cuando se borra el certificado válido en el almacén de confianza |
MGMT-3404 | La visualización y recuperación de los registros de Node.js y la implementación de proxies es muy lenta |
MGMT-3400 | La llamada a la API de /userroles Management falla si el usuario que realiza la llamada tiene un signo "+" en el nombre. |
MGMT-3368 | java.lang.ArrayIndexOutOfBoundsException: 1, cuando se importa un paquete de proxy de API que contiene el directorio resources/node/resources |
MGMT-3364 | OAuthV2: comprobación de redirect_uri |
MGMT-3319 | Enumera las entradas en una bóveda que tiene un valor nulo en una de las entradas que no funciona para organizaciones (con o sin CPS) |
MGMT-3226 | La consulta a nivel de la organización y el entorno no debería extraer todos los datos, lo que hace que la API falle Release_160302 tenía un error en el que la lista de recursos a nivel de la organización o del entorno fallaba si el tamaño acumulativo de los recursos supera los 16 MB. Esta corrección se encarga del problema. |
AXAPP-2429 | La API de Analytics usa response_status_code muestra un error de acceso a los datos |
AXAPP-2386 | Cómo corregir el contenido de informes vacíos en los informes diarios de Analytics por correo electrónico |
AXAPP-2347 | No recibir correos electrónicos con resúmenes diarios de estadísticas |
APIRT-3141 | Los textos destacados de Java fallan cuando se llama al nuevo elemento ExecutionResult() , ya que el constructor es privado. |
APIRT-3140 | La política ServiceReferencia no funciona en las llamadas a la API HEAD |
APIRT-3131 | Se muestra un CreateBy incorrecto para un proxy de API cuando se usa la monetización con un proveedor de autenticación externo |
APIRT-3121 | El cambio en el archivo de recursos de la organización no es 100% efectivo |
APIRT-3117 | El MP alcanzó el 100% de uso de CPU y dejó de entregar tráfico |
APIRT-3016 | Errores de "Se agotó el tiempo de espera de la llamada" del router en las implementaciones |
APIRT-2975 | Error en la carga del paquete de certificados |
APIRT-2955 | No se pueden enmascarar ciertos atributos de los datos de respuesta JSON para el encabezado Content-Type de FHIR-claim “application/json+fhir” |
APIRT-2946 | La política OAuthV2-RefreshToken no oculta atributos a pesar de que la visualización está configurada como falsa |
APIRT-2908 | Se requiere aplicar TLS1.2 para la llamada a la API interna después de la actualización de TLS1.2 en el host virtual |
APIRT-2901 | Las respuestas comprimidas que se obtienen de la caché se comprimen dos veces |
APIRT-2873 | Los MP muestran una excepción NullPointerException relacionada con VerifyAPIKey después de la eliminación de products/developers/proxies |
APIRT-2871 | Las políticas IOIntensive aparecen dos veces en Trace |
APIRT-2825 | Error gramatical en la respuesta de error de accesstoken |
APIRT-2750 | Fallas de tráfico altas en una organización específica |
APIRT-2685 | No puede fluir el tráfico y se produce un error desconocido |
APIRT-2647 | Error “La transmisión de entrada subyacente mostró cero bytes” con nonprod/dev |
APIRT-2630 | Problemas intermitentes cuando se intenta leer el valor de la caché |
APIRT-2620 | Conjunto de subprocesos independiente para algunos pasos de bloqueo |
APIRT-2610 | java.lang.ClassCastException con política de Response Cache |
APIRT-2608 | Error de análisis de los encabezados modificados por última vez en las políticas de caché de respuesta |
APIRT-2605 | No se debe permitir que se reemplacen las variables de “organización” y “entorno” mediante políticas |
APIRT-2566 | La política OAuthV2 muestra el encabezado WWW-Authenticate con errores de formato. |
APIRT-2491 | No se pudo actualizar TargetServer debido al tiempo de espera de RPC entre la administración y mps |
APIRT-2386 | Se crea un alcance de string vacío en un producto de API con un permiso de OAuth permitido vacío |
APIRT-2383 | Aparentemente, las políticas de transformación XSL no registran datos cuando se produce un error. |
APIRT-2364 | Las variables del flujo de fallas de OAuth no se actualizan por error |
APIRT-2216 | Eventos enviados por el servidor: transmisión de eventos con problemas en producción |
APIRT-2079 | La llamada a cURL de DEBUG no se detiene después de que vence el tiempo de espera para la sesión creada |
APIRT-1495 | La protección contra amenazas XML no detecta el tipo de contenido |
APIRT-347 | La política XSL no se valida de forma adecuada en el momento de la importación (no asigna resultados a las variables de salida como se documenta) |