Solución de problemas de implementación de la política de extensiones de texto destacado

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

InvalidConnectorInstance

Mensaje de error

La implementación del proxy de API a través de la IU de Edge o de la API de Edge Management falla y muestra este mensaje de error:

Error Saving Revision revision_number
In policy_name: Connector must not be empty.

Ejemplo de mensaje de error

Error Saving Revision 1
In Extension Callout-1: Connector must not be empty.

Captura de pantalla de error de ejemplo

Mensaje de error de instancia del conector no válido

Causa

Este error se produce si falta el elemento <Connector> en la Política de ExtensionCallout o está configurado en un valor vacío.

Diagnóstico

  1. Identifique el nombre de la política de ExtensionCallout en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política de ExtensionCallout es Extension Callout-1:

    Error Saving Revision 1
    In Extension Callout-1: Connector must not be empty
  2. Examina el XML de la política ExtensionExtension con errores y verifica si el elemento <Connector> está presente y no está vacío. Por ejemplo, en la siguiente política, el elemento <Connector> está vacío y no contiene el nombre de la extensión:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
        <DisplayName>Extension Callout-1</DisplayName>
        <Connector></Connector>
        <Action>downloadFile</Action>
        <Input><![CDATA[
             {}
         ]]></Input>
        <Output>context-variable-name</Output>
    </ConnectorCallout>

Dado que el elemento <Connector> está vacío, la implementación del proxy de API falla.

Resolución

Asegúrese de que siempre se especifique el valor para el elemento <Connector> de la política de Extension Callout y coincida con el nombre de la extensión real creada en la organización.

Para corregir la política de ExtensionCallout de ejemplo que se muestra arriba, puedes establecer el elemento <Connector> en el nombre de la extensión que existe en el entorno específico en el que se implementa el proxy de API.

Para determinar el nombre de la extensión, en la IU de Edge, puedes navegar a Administrador > Extensiones. Allí aparecerán los nombres de todas las extensiones de tu organización. El nombre de la extensión se debe establecer en el elemento <Connector>.

Consulta el nombre de todas las extensiones en la IU de Edge.

A continuación, se muestra un ejemplo con el nombre de la extensión configurado correctamente en el elemento <Connector>:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
    <DisplayName>Extension Callout-1</DisplayName>
    <Connector>cloud_storage_ext</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[
         {}
     ]]></Input>
    <Output>context-variable-name</Output>
</ConnectorCallout>

ConnectorInstanceDoesNotExists

Mensaje de error

La implementación del proxy de API a través de la IU de Edge o de la API de Edge Management falla y muestra este mensaje de error:

Error Deploying Revision revision_number to environment
In policy_name: Connector <extension_name> does not exist in environment environment.

Ejemplo de mensaje de error

Error Deploying Revision 1 to test
In Extension Callout-1: Connector cloud_storage does not exist in environment test.

Captura de pantalla de error de ejemplo

Mensaje de error porque la instancia del conector no existe

Causa

Este error se produce si el elemento <Connector> de la política ExtensionCallout se establece en un nombre que no existe en el entorno en el que se implementa el proxy de API.

Diagnóstico

  1. Identifique el nombre de la política de extensión de texto destacado, el nombre de la extensión no válido que se usó en el elemento <Connector> de la política de ExtensionCallout y el entorno en el que se produjo el error. Puedes encontrar todos estos elementos en el mensaje de error.

    Por ejemplo, en el siguiente error, el nombre de la política de ExtensionCallout es Extension Callout-1,invalid name de la extensión es cloud_storage, y el nombre del entorno es test:

        Error Deploying Revision 1 to test
        In Extension Callout-1: Connector cloud_storage does not exist in environment test.
    
  2. Examina el XML de la política ExtensionExtension con errores y verifica si el nombre de la extensión especificado para el elemento <Connector> coincide con el contenido del mensaje de error.

    En este ejemplo, el nombre de la extensión especificado en el elemento <Connector> es cloud_storage:

        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
            <DisplayName>Extension Callout-1</DisplayName>
            <Connector>cloud_storage</Connector>
            <Action>downloadFile</Action>
            <Input><![CDATA[
                 {}
             ]]></Input>
            <Output>context-variable-name</Output>
        </ConnectorCallout>
    
  3. Verifica si el nombre de la extensión se creó en el entorno (determinado en el paso 1).

    En la IU de Edge, navega a Administrador > Extensiones y verifica si la extensión existe y si el nombre coincide con el especificado en el elemento <Connector> en la política ExtensionExtension.

    En la siguiente captura de pantalla, observa que la extensión cloud_storage_ext existe, pero no coincide con el elemento <Connector> especificado en la política ExtensionExtension de ejemplo que se muestra arriba:

    Consulta el nombre de todas las extensiones en la IU de Edge.

    Como el nombre de la extensión especificado en el elemento <Connector> no existe, se mostrará el siguiente error de implementación:

    In Extension Callout-1: Connector cloud_storage does not exist in environment test.

Resolución

Asegúrese de que la extensión especificada en el elemento <Connector> de la política de ExtensionCallout se haya creado y que el nombre se especifique correctamente.

Consulta el Instructivo: Cómo usar extensiones para obtener información sobre cómo crear la extensión.

Para corregir el ejemplo anterior, corrige el nombre para que coincida con la extensión real:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
    <DisplayName>Extension Callout-1</DisplayName>
    <Connector>cloud_storage_ext</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[
         {}
     ]]></Input>
    <Output>context-variable-name</Output>
</ConnectorCallout>

InvalidAction

Mensaje de error

La implementación del proxy de API a través de la IU de Edge o de la API de Edge Management falla y muestra este mensaje de error:

Error Saving Revision revision_number
In policy_name: Action must not be empty.

Ejemplo de mensaje de error

Error Saving Revision 1
In Extension Callout-1: Action must not be empty.

Captura de pantalla de error de ejemplo

Mensaje de error de acción no válido

Causa

Este error se produce si falta el elemento <Action> en la Política de ExtensionCallout o está configurado en un valor vacío.

Diagnóstico

  1. Identifique el nombre de la política de ExtensionCallout. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política de ExtensionCallout es Extension Callout-1:

        Error Saving Revision 1
        In Extension Callout-1: Action must not be empty.
    
  2. Examina el XML de la política ExtensionExtension con errores y verifica si se especifica la acción en el elemento <Action>. Si falta el elemento <Action> o si está vacío, esa es la causa del error.

    En este ejemplo, el elemento <Action> está vacío:

        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
            <DisplayName>Extension Callout-1</DisplayName>
            <Connector>cloud_storage_ext</Connector>
            <Action></Action>
            <Input><![CDATA[
                 {}
             ]]></Input>
            <Output>context-variable-name</Output>
        </ConnectorCallout>
    

Resolución

Asegúrate de que el elemento <Action> siempre esté especificado y no esté vacío en la política de ExtensionCallout.

Consulta el Instructivo: Cómo usar extensiones para obtener información sobre cómo crear una extensión y cómo usarla en la política con el elemento <Action> correcto.

Para solucionar el problema anterior, especifica la acción correcta para la extensión:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
    <DisplayName>Extension Callout-1</DisplayName>
    <Connector>cloud_storage_ext</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[
         {}
     ]]></Input>
    <Output>context-variable-name</Output>
</ConnectorCallout>

AllowExtensionsInPostClientFlow

Mensaje de error

La implementación del proxy de API a través de la IU de Edge o de la API de Edge Management falla y muestra este mensaje de error:

Error Deploying Revision revision_number to environment
In policy_name: Policy is not allowed in PostClientFlow.

Ejemplo de mensaje de error

Error Deploying Revision 1 to test
In Extension Callout-1: Policy is not allowed in PostClientFlow.

Captura de pantalla de error de ejemplo

Permitir extensiones en el mensaje de error del flujo de clientes posterior

Causa

Se prohíbe tener una política de ExtensionCallout en un flujo de PostClient. Si se establece una política ExtensionCallout en un flujo de PostClient, la implementación del proxy de API falla con este error.

Diagnóstico

  1. Identifique el nombre de la política de ExtensionCallout. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política de ExtensionCallout es Extension Callout-1:

    In Extension Callout-1: Policy is not allowed in PostClientFlow.
  2. Examine todos los flujos de PostClient en todos los extremos del proxy de API específico en los que se produjo la falla. Consulta el artículo Controla la forma en que un proxy se ejecuta con flujos.

    Si observas que la política ExtensionExtension (determinada en el paso 1) se ubica en el flujo PostClient, esa es la causa del error.

    Por ejemplo, el siguiente flujo PostClient tiene una política ExtensionExtension:

        ...
        <PostClientFlow>
                <Request/>
                <Response>
                    <Step>
                        <Name>Extension-Callout-1</Name>
                    </Step>
                </Response>
            </PostClientFlow>
        ...
    

Resolución

Asegúrate de que la política de ExtensionCallout no se coloque en el flujo PostClient.

Para solucionar el problema mencionado anteriormente, debe mover la política de ExtensionCallout a cualquier otro flujo.

...
<PreFlow name="PreFlow">
    <Request/>
    <Response>
        <Step>
            <Name>Extension-Callout-1</Name>
        </Step>
    </Response>
</PreFlow>
...