Fehlerbehebung bei der Bereitstellung der ExtensionCallout-Richtlinie

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie 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 der folgenden 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. Identifizieren Sie den Namen der ExtensionCallout-Richtlinie in der Fehlermeldung. Im folgenden Fehler lautet der Richtlinienname "ExtensionCallout" 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 beispielsweise das Element <Connector> 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.

Lö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, gehen Sie in der Edge-Benutzeroberfläche zu Admin > Erweiterungen. 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 Beispiel ist der Erweiterungsname korrekt im <Connector>-Element festgelegt:

<?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 der folgenden 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 nicht vorhanden“

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 XML-Datei der ExtensionCallout-Richtlinie an und prüfen Sie, ob der für das <Connector>-Element angegebene Erweiterungsname mit dem Inhalt 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. Prüfen Sie, ob der Erweiterungsname in der Umgebung erstellt wurde (in Schritt 1 bestimmt).

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

    Im Screenshot unten sehen Sie, dass die Erweiterung cloud_storage_ext zwar vorhanden ist, aber nicht mit dem Element <Connector> ü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 ausgegeben:

    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 der folgenden 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. Ermitteln Sie den Namen der ExtensionCallout-Richtlinie. Diese Informationen finden Sie in der Fehlermeldung. Im folgenden Fehler lautet der Richtlinienname "ExtensionCallout" beispielsweise Extension Callout-1:.

        Error Saving Revision 1
        In Extension Callout-1: Action must not be empty.
    
  2. Sehen Sie sich die XML-Datei der ExtensionCallout-Richtlinie an und prüfen Sie, ob im Element <Action> eine Aktion angegeben ist. Wenn das <Action>-Element fehlt oder leer ist, ist dies 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>
    

Lösung

Achten Sie darauf, dass das Element <Action> in der ExtensionCallout-Richtlinie immer angegeben und nicht leer ist.

Unter Anleitung: Erweiterungen verwenden findest du Informationen zum Erstellen einer Erweiterung und ihrer 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 der folgenden 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 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. Ermitteln Sie den Namen der ExtensionCallout-Richtlinie. Diese Informationen finden Sie in der Fehlermeldung. Im folgenden Fehler lautet der Richtlinienname "ExtensionCallout" 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 in Schritt 1 ermittelte Richtlinie ExtensionCallout im PostClient-Ablauf platziert ist, ist dies die Fehlerursache.

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

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

Lösung

Die ExtensionCallout-Richtlinie darf nicht im PostClient-Ablauf platziert werden.

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