Rozwiązywanie problemów z wdrażaniem zasad dotyczących objaśnienia rozszerzenia

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

InvalidConnectorInstance

Komunikat o błędzie

Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:

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

Przykładowy komunikat o błędzie

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

Przykładowy zrzut ekranu z błędem

Komunikat o błędzie Nieprawidłowa instancja oprogramowania sprzęgającego

Przyczyna

Ten błąd występuje, jeśli element <Connector> w zasadzie ExtensionCallout jest nieobecny lub ma pustą wartość.

Diagnostyka

  1. W komunikacie o błędzie znajdź nazwę zasady ExtensionCallout. Na przykład w tym błędzie nazwa zasady ExtensionCallout to Extension Callout-1:

    Error Saving Revision 1
    In Extension Callout-1: Connector must not be empty
  2. Sprawdź kod XML zasady ExtensionCallout, która nie została zastosowana, i upewnij się, że element <Connector> jest obecny i nie jest pusty. Na przykład w zasadach poniżej element <Connector> jest pusty i nie zawiera nazwy rozszerzenia:

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

Element <Connector> jest pusty, więc wdrożenie proxy interfejsu API nie powiedzie się.

Rozdzielczość

Upewnij się, że wartość elementu <Connector> zasady dotyczącej komponentu z objaśnieniem rozszerzenia jest zawsze określona i odpowiada nazwie rzeczywistego rozszerzenia utworzonego w organizacji.

Aby poprawić pokazane powyżej przykładowe zasady ExtensionCallout, możesz ustawić element <Connector> na nazwę rozszerzenia, które istnieje w konkretnym środowisku, w którym wdrażany jest serwer proxy interfejsu API.

Aby określić nazwę rozszerzenia, w interfejsie Edge przejdź do sekcji Administracja > Rozszerzenia. Wyświetlą się tam nazwy wszystkich rozszerzeń w Twojej organizacji. Nazwę rozszerzenia należy ustawić w elemencie <Connector>.

Wyświetl nazwy wszystkich rozszerzeń w interfejsie Edge.

Poniżej znajduje się przykład z prawidłowo ustawioną nazwą rozszerzenia w elemencie <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

Komunikat o błędzie

Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:

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

Przykładowy komunikat o błędzie

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

Przykładowy zrzut ekranu z błędem

Komunikat o błędzie „Connector Instance Does Not exist”

Przyczyna

Ten błąd występuje, jeśli element <Connector> w zasadzie ExtensionCallout ma nazwę, która nie istnieje w środowisku, w którym wdrażany jest serwer proxy interfejsu API.

Diagnostyka

  1. Określ nazwę zasady ExtensionCallout, nieprawidłową nazwę rozszerzenia używaną w elemencie <Connector> zasady ExtensionCallout oraz środowisko, w którym wystąpił błąd. Wszystkie te elementy znajdziesz w komunikacie o błędzie.

    Na przykład w tym błędzie nazwa zasady ExtensionCallout to Extension Callout-1,invalid , nazwa rozszerzenia to cloud_storage, a nazwa środowiska to test:

        Error Deploying Revision 1 to test
        In Extension Callout-1: Connector cloud_storage does not exist in environment test.
  2. Sprawdź kod XML nieudanej zasady ExtensionCallout i upewnij się, że nazwa rozszerzenia określona w elemencie <Connector> jest zgodna z nazwą w komunikacie o błędzie.

    W tym przykładzie nazwa rozszerzenia określona w elemencie <Connector> to 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. Sprawdź, czy nazwa rozszerzenia została utworzona w środowisku (określonym w kroku 1).

    W interfejsie Edge kliknij Administracja > Rozszerzenia i sprawdź, czy rozszerzenie istnieje, a jego nazwa jest zgodna z nazwą podaną w elemencie <Connector> w zasadach ExtensionCallout.

    Zwróć uwagę, że na zrzucie ekranu poniżej rozszerzenie cloud_storage_ext istnieje, ale nie pasuje do elementu <Connector> określonego w przykładowych zasadach dotyczących rozszerzenia wywołania pokazanych powyżej:

    Wyświetl nazwy wszystkich rozszerzeń w interfejsie Edge.

    Ponieważ nazwa rozszerzenia podana w elemencie <Connector> nie istnieje, pojawi się błąd wdrożenia:

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

Rozdzielczość

Upewnij się, że rozszerzenie określone w elemencie <Connector> zasady ExtensionCallout zostało utworzone, a jego nazwa jest prawidłowa.

Informacje o tym, jak utworzyć rozszerzenie, znajdziesz w samouczku dotyczącym korzystania z rozszerzeń.

Aby poprawić powyższy przykład, zmień nazwę tak, aby pasowała do rzeczywistego rozszerzenia:

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

Komunikat o błędzie

Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:

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

Przykładowy komunikat o błędzie

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

Przykładowy zrzut ekranu z błędem

Komunikat o błędzie „Nieprawidłowe działanie”

Przyczyna

Ten błąd występuje, jeśli element <Action> w zasadzie ExtensionCallout jest nieobecny lub ma pustą wartość.

Diagnostyka

  1. Znajdź nazwę zasady ExtensionCallout. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady ExtensionCallout to Extension Callout-1:

        Error Saving Revision 1
        In Extension Callout-1: Action must not be empty.
  2. Sprawdź plik XML nieudanej zasady ExtensionCallout i upewnij się, że działanie jest określone w elemencie <Action>. Jeśli element <Action> jest nieobecny lub pusty, to jest to przyczyną błędu.

    W tym przykładzie element <Action> jest pusty:

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

Rozdzielczość

Upewnij się, że element <Action> jest zawsze określony i nie jest pusty w zasadach ExtensionCallout.

Informacje o tym, jak utworzyć rozszerzenie i używać go w zasadach z prawidłowym elementem <Action>, znajdziesz w samouczku dotyczącym korzystania z rozszerzeń.

Aby rozwiązać powyższy problem, określ prawidłowe działanie rozszerzenia:

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

Komunikat o błędzie

Wdrożenie proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API nie powiodło się i wyświetlił się ten komunikat o błędzie:

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

Przykładowy komunikat o błędzie

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

Przykładowy zrzut ekranu z błędem

Komunikat o błędzie Allow Extensions In Post Client Flow

Przyczyna

W przepływie PostClient nie można stosować zasady ExtensionCallout. Jeśli w przepływie PostClient umieszczona jest zasada ExtensionCallout, wdrożenie serwera proxy interfejsu API zakończy się niepowodzeniem i wyświetli się ten błąd.

Diagnostyka

  1. Znajdź nazwę zasady ExtensionCallout. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady ExtensionCallout to Extension Callout-1:

    In Extension Callout-1: Policy is not allowed in PostClientFlow.
  2. Sprawdź wszystkie przepływy PostClient we wszystkich punktach końcowych konkretnego proxy interfejsu API, w którym wystąpił błąd. Zapoznaj się z artykułem Kontrolowanie sposobu wykonywania proxy za pomocą przepływów.

    Jeśli zauważysz, że zasada ExtensionCallout (określona w kroku 1) jest umieszczona w przepływie PostClient, to jest to przyczyną błędu.

    Na przykład ten przepływ PostClient zawiera zasadę ExtensionCallout:

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

Rozdzielczość

Sprawdź, czy zasada ExtensionCallout nie jest umieszczona w przepływie PostClient.

Aby rozwiązać wspomniany powyżej problem, przenieś zasadę ExtensionCallout do innego przepływu.

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