Uzantı Açıklama Metni politika dağıtımı hatasını giderme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

InvalidConnectorInstance

Hata Mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:

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

Örnek hata mesajı

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

Örnek hata ekran görüntüsü

Invalid Connector Instance (Geçersiz Bağlayıcı Örneği) hata mesajı

Neden

Bu hata, ExtensionCallout politikasındaki <Connector> öğesi eksikse veya boş bir değere ayarlanmışsa oluşur.

Teşhis

  1. Hata mesajında ExtensionCallout politikasının adını belirleyin. Örneğin, aşağıdaki hatada ExtensionCallout politika adı Extension Callout-1'dır:

    Error Saving Revision 1
    In Extension Callout-1: Connector must not be empty
  2. Başarısız olan ExtensionCallout politikası XML'sini inceleyin ve <Connector> öğesinin mevcut ve boş olmadığını doğrulayın. Örneğin, aşağıdaki politikada <Connector> öğesi boş ve uzantının adını içermiyor:

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

<Connector> öğesi boş olduğundan API proxy'sinin dağıtımı başarısız olur.

Çözünürlük

Uzantı açıklama metni politikasının <Connector> öğesinin değerinin her zaman belirtildiğinden ve kuruluşta oluşturulan gerçek uzantının adıyla eşleştiğinden emin olun.

Yukarıda gösterilen ExtensionCallout örneğindeki hatayı düzeltmek için <Connector> öğesini, API proxy'sinin dağıtıldığı belirli ortamda bulunan uzantının adıyla ayarlayabilirsiniz.

Uzantının adını belirlemek için Edge kullanıcı arayüzünde Yönetici > Uzantılar'a gidebilirsiniz. Kuruluşunuzdaki tüm uzantıların adları burada gösterilir. Uzantı adı, <Connector> öğesinde ayarlanmalıdır.

Edge kullanıcı arayüzünde tüm uzantıların adını görüntüleme

Aşağıda, <Connector> öğesinde uzantı adının doğru şekilde ayarlandığı örnek verilmiştir:

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

Hata Mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:

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

Örnek hata mesajı

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

Örnek hata ekran görüntüsü

Bağlayıcı örneği mevcut değil hata mesajı

Neden

Bu hata, ExtensionCallout politikası içindeki <Connector> öğesi, API proxy'sinin dağıtıldığı ortamda bulunmayan bir ada ayarlanırsa oluşur.

Teşhis

  1. ExtensionCallout politika adını, ExtensionCallout politikasının <Connector> öğesinde kullanılan geçersiz uzantı adını ve hatanın oluştuğu ortamı belirleyin. Bu öğelerin tümünü hata mesajında bulabilirsiniz.

    Örneğin, aşağıdaki hatada ExtensionCallout politika adı Extension Callout-1,d , Extension adı cloud_storage ve ortam adı test'dır:

        Error Deploying Revision 1 to test
        In Extension Callout-1: Connector cloud_storage does not exist in environment test.
  2. Başarısız olan ExtensionCallout politikası XML'sini inceleyin ve <Connector> öğesi için belirtilen uzantı adının hata mesajındakiyle eşleşip eşleşmediğini doğrulayın.

    Bu örnekte, <Connector> öğesinde belirtilen uzantı adı cloud_storage'dır:

        <?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. Uzantı adının ortamda (1. adımda belirlenir) oluşturulup oluşturulmadığını doğrulayın.

    Edge kullanıcı arayüzünde Yönetici > Uzantılar 'a gidin ve uzantının mevcut olup olmadığını, adının ExtensionCallout politikasındaki <Connector> öğesinde belirtilen adla eşleşip eşleşmediğini kontrol edin.

    Aşağıdaki ekran görüntüsünde, uzantının cloud_storage_ext mevcut olduğu ancak yukarıda gösterilen örnek ExtensionCallout politikasında belirtilen <Connector> öğesiyle eşleşmediği görülmektedir:

    Edge kullanıcı arayüzünde tüm uzantıların adını görüntüleme

    <Connector> öğesinde belirtilen uzantı adı mevcut olmadığından dağıtım hatası alırsınız:

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

Çözünürlük

ExtensionCallout politikasının <Connector> öğesinde belirtilen uzantının oluşturulduğundan ve adının doğru şekilde belirtildiğinden emin olun.

Uzantıyı oluşturma hakkında bilgi edinmek için Eğitim: Uzantıları kullanma başlıklı makaleyi inceleyin.

Yukarıdaki örneği düzeltmek için adı gerçek uzantıyla eşleşecek şekilde düzeltin:

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

Hata Mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:

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

Örnek hata mesajı

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

Örnek hata ekran görüntüsü

Geçersiz İşlem hata mesajı

Neden

Bu hata, ExtensionCallout politikasındaki <Action> öğesi eksikse veya boş bir değere ayarlanmışsa oluşur.

Teşhis

  1. ExtensionCallout politika adını belirleyin. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada ExtensionCallout politika adı Extension Callout-1:

        Error Saving Revision 1
        In Extension Callout-1: Action must not be empty.
  2. Başarısız olan ExtensionCallout politikası XML'sini inceleyin ve <Action> öğesinde işlemin belirtilip belirtilmediğini doğrulayın. <Action> öğesi eksikse veya boşsa hatanın nedeni budur.

    Bu örnekte, <Action> öğesi boş:

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

Çözünürlük

ExtensionCallout politikasında <Action> öğesinin her zaman belirtildiğinden ve boş olmadığından emin olun.

Uzantı oluşturma ve doğru <Action> öğesiyle politikada kullanma hakkında bilgi edinmek için Eğitim: Uzantıları kullanma başlıklı makaleye bakın.

Yukarıdaki sorunu düzeltmek için uzantıyla ilgili doğru işlemi belirtin:

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

Hata Mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtımı şu hata mesajıyla başarısız oluyor:

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

Örnek hata mesajı

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

Örnek hata ekran görüntüsü

Allow Extensions In Post Client Flow hata mesajı

Neden

PostClient Flow'da ExtensionCallout politikası olması yasaktır. Bir ExtensionCallout politikası PostClient akışına yerleştirilirse API proxy'sinin dağıtımı bu hatayla başarısız olur.

Teşhis

  1. ExtensionCallout politika adını belirleyin. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada ExtensionCallout politika adı Extension Callout-1:

    In Extension Callout-1: Policy is not allowed in PostClientFlow.
  2. Hatayı içeren belirli API proxy'sinin tüm uç noktalarındaki tüm PostClient akışlarını inceleyin. Lütfen Akışlarla bir proxy'nin nasıl yürütüleceğini kontrol etme başlıklı makaleyi inceleyin.

    ExtensionCallout politikasının (1. adımda belirlenir) PostClient akışına yerleştirildiğini fark ederseniz hatanın nedeni budur.

    Örneğin, aşağıdaki PostClient akışında ExtensionCallout politikası vardır:

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

Çözünürlük

ExtensionCallout politikasının PostClient akışına yerleştirilmediğinden emin olun.

Yukarıda belirtilen sorunu düzeltmek için ExtensionCallout politikasını başka bir akışa taşımanız gerekir.

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