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

Estás viendo la documentación de Apigee Edge.
Ve a 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 el siguiente 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 de 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 ExtensionCallback con error 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.

Solució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í se mostrará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 el siguiente 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 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 ExtensionAviso que falló y verifica si el nombre de extensión especificado para el elemento <Connector> coincide con lo que aparece en el 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 que se especificó en el elemento <Connector> en la política Extension;">.

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

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

    Dado que el nombre de la extensión especificado en el elemento <Connector> no existe, verás el siguiente error de implementación:

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

Solució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.

Para obtener información sobre cómo crear una extensión, consulta el Instructivo para usar extensiones.

Para corregir el ejemplo anterior, corrige el nombre de modo 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 el siguiente 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 ExtensionAviso que falló y verifica si se especificó la acción en el elemento <Action>. Si falta el elemento <Action> o 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>
    

Solució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 el siguiente 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

Mensaje de error de Permitir extensiones en el flujo de cliente 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. Examina todos los flujos PostClient en todos los extremos del proxy de API específico donde se produjo el error. Consulta el artículo Controla la ejecución de un proxy con flujos.

    Si observa que la política ExtensionReference (determinada en el paso 1) se coloca en el flujo PostClient, esa es la causa del error.

    Por ejemplo, el siguiente flujo de PostClient tiene la política Extension preferida:

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

Solució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>
...