Fehlerbehebung bei der Bereitstellung der ExtensionCallout-Richtlinie

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

InvalidConnectorInstance

Fehlermeldung

Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit dieser Fehlermeldung fehl:

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

Beispiel für Fehlermeldung

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

Screenshot eines Beispielfehlers

Fehlermeldung zu ungültiger Connector-Instanz

Ursache

Dieser Fehler tritt auf, wenn das Element <Connector> in der ExtensionCallout-Richtlinie fehlt oder auf einen leeren Wert festgelegt ist.

Diagnose

  1. Ermitteln Sie den Namen der ExtensionCallout-Richtlinie in der Fehlermeldung. Im folgenden Fehler lautet der Name der ExtensionCallout-Richtlinie beispielsweise Extension Callout-1:

    Error Saving Revision 1
    In Extension Callout-1: Connector must not be empty
  2. Untersuchen Sie die XML der fehlgeschlagenen ExtensionCallout-Richtlinie und prüfen Sie, ob das Element <Connector> vorhanden und nicht leer ist. In der Richtlinie unten ist das <Connector>-Element beispielsweise leer und enthält nicht den Namen der Erweiterung:

    <?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>

Da das Element <Connector> leer ist, schlägt die Bereitstellung des API-Proxys fehl.

Auflösung

Der Wert für das Element <Connector> der ExtensionCallout-Richtlinie muss immer angegeben sein und mit dem Namen der tatsächlichen Erweiterung übereinstimmen, die in der Organisation erstellt wurde.

Um die oben gezeigte ExtensionCallout-Beispielrichtlinie zu korrigieren, können Sie das Element <Connector> auf den Namen der Erweiterung festlegen, die in der Umgebung vorhanden ist, in der der API-Proxy bereitgestellt wird.

Um den Namen der Erweiterung zu ermitteln, können Sie in der Edge-Benutzeroberfläche zu Admin > Erweiterungen navigieren. Dort werden die Namen aller Erweiterungen in Ihrer Organisation angezeigt. Der Name der Erweiterung sollte im <Connector>-Element festgelegt werden.

Sehen Sie sich den Namen aller Erweiterungen in der Edge-Benutzeroberfläche an.

Im Folgenden sehen Sie das Beispiel, in dem der Erweiterungsname richtig im <Connector>-Element festgelegt ist:

<?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

Fehlermeldung

Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit dieser Fehlermeldung fehl:

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

Beispiel für Fehlermeldung

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

Beispiel für einen Fehler-Screenshot

Fehlermeldung: Connector-Instanz existiert nicht

Ursache

Dieser Fehler tritt auf, wenn für das Element <Connector> in der ExtensionCallout-Richtlinie ein Name angegeben ist, der in der Umgebung, in der der API-Proxy bereitgestellt wird, nicht vorhanden ist.

Diagnose

  1. Ermitteln Sie den Namen der ExtensionCallout-Richtlinie, den InvalidExtension-Namen, der im Element <Connector> der ExtensionCallout-Richtlinie verwendet wird, und die Umgebung, in der der Fehler aufgetreten ist. Sie finden alle diese Elemente in der Fehlermeldung.

    Im folgenden Fehler lautet der Name der ExtensionCallout-Richtlinie beispielsweise Extension Callout-1,invalid , der Name der Erweiterung cloud_storage und der Umgebungsname test:

        Error Deploying Revision 1 to test
        In Extension Callout-1: Connector cloud_storage does not exist in environment test.
    
  2. Sehen Sie sich die fehlgeschlagene ExtensionCallout-Richtlinien-XML-Datei an und achten Sie darauf, dass der für das <Connector>-Element angegebene Erweiterungsname mit dem in der Fehlermeldung übereinstimmt.

    In diesem Beispiel lautet der im Element <Connector> angegebene Erweiterungsname 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. Überprüfen Sie, ob der Erweiterungsname in der Umgebung erstellt wurde (in Schritt 1 ermittelt).

    Gehen Sie in der Edge-Benutzeroberfläche zu Admin > Erweiterungen und prüfen Sie, ob die Erweiterung existiert und der Name mit dem Namen übereinstimmt, der im Element <Connector> in der ExtensionCallout-Richtlinie angegeben ist.

    Im Screenshot unten sehen Sie, dass die Erweiterung cloud_storage_ext vorhanden ist, sie aber nicht mit dem <Connector>-Element übereinstimmt, das in der oben gezeigten Beispielrichtlinie für ExtensionCallout angegeben ist:

    Sehen Sie sich den Namen aller Erweiterungen in der Edge-Benutzeroberfläche an.

    Da der im Element <Connector> angegebene Erweiterungsname nicht vorhanden ist, wird der Bereitstellungsfehler angezeigt:

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

Auflösung

Prüfen Sie, ob die im Element <Connector> der ExtensionCallout-Richtlinie angegebene Erweiterung erstellt wurde und den richtigen Namen hat.

Informationen zum Erstellen von Erweiterungen finden Sie in der Anleitung: Erweiterungen verwenden.

Um den Fehler im obigen Beispiel zu beheben, korrigieren Sie den Namen, damit er mit der tatsächlichen Erweiterung übereinstimmt:

<?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

Fehlermeldung

Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit dieser Fehlermeldung fehl:

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

Beispiel für Fehlermeldung

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

Screenshot eines Beispielfehlers

Fehlermeldung „Ungültige Aktion“

Ursache

Dieser Fehler tritt auf, wenn das Element <Action> in der ExtensionCallout-Richtlinie fehlt oder auf einen leeren Wert festgelegt ist.

Diagnose

  1. Identifizieren Sie den ExtensionCallout-Richtliniennamen. Diese Informationen finden Sie in der Fehlermeldung. Im folgenden Fehler lautet der Name der ExtensionCallout-Richtlinie beispielsweise Extension Callout-1:

        Error Saving Revision 1
        In Extension Callout-1: Action must not be empty.
    
  2. Untersuchen Sie die fehlgeschlagene ExtensionCallout-Richtlinien-XML-Datei und kontrollieren Sie, ob im <Action>-Element eine Aktion angegeben ist. Wenn das <Action>-Element fehlt oder leer ist, ist das die Fehlerursache.

    In diesem Beispiel ist das Element <Action> leer:

        <?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>
    

Auflösung

Das <Action>-Element muss in der ExtensionCallout-Richtlinie immer angegeben und nicht leer sein.

In der Anleitung: Erweiterungen verwenden findest du Informationen zum Erstellen einer Erweiterung und zur Verwendung in der Richtlinie mit dem richtigen <Action>-Element.

Geben Sie die richtige Aktion für die Erweiterung an, um das Problem oben zu beheben:

<?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

Fehlermeldung

Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit dieser Fehlermeldung fehl:

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

Beispiel für Fehlermeldung

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

Screenshot eines Beispielfehlers

Fehlermeldung „Erweiterungen im Post-Client-Ablauf zulassen“

Ursache

Eine ExtensionCallout-Richtlinie darf nicht in einem PostClient-Ablauf verwendet werden. Wenn eine ExtensionCallout-Richtlinie in einem PostClient-Ablauf platziert wird, schlägt die Bereitstellung des API-Proxys mit diesem Fehler fehl.

Diagnose

  1. Identifizieren Sie den ExtensionCallout-Richtliniennamen. Diese Informationen finden Sie in der Fehlermeldung. Im folgenden Fehler lautet der Name der ExtensionCallout-Richtlinie beispielsweise Extension Callout-1:

    In Extension Callout-1: Policy is not allowed in PostClientFlow.
  2. Untersuchen Sie alle PostClient-Abläufe an allen Endpunkten des betreffenden API-Proxys, auf dem der Fehler aufgetreten ist. Weitere Informationen finden Sie im Artikel Die Ausführung eines Proxys mit Abläufen steuern.

    Wenn Sie feststellen, dass die ExtensionCallout-Richtlinie (in Schritt 1 ermittelt) in den PostClient Flow platziert wird, ist dies die Ursache des Fehlers.

    Der folgende PostClient-Ablauf enthält beispielsweise ExtensionCallout-Richtlinien:

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

Auflösung

Achten Sie darauf, dass die ExtensionCallout-Richtlinie nicht in den PostClient-Ablauf eingefügt wird.

Um das oben erwähnte Problem zu beheben, verschieben Sie die ExtensionCallout-Richtlinie in einen anderen Ablauf.

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