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ılması şu hata mesajıyla başarısız olur:

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ü

Geçersiz Bağlayıcı Örneği hata mesajı

Neden

Bu hata, Extension callout politikasındaki <Connector> öğesi eksikse veya boş bir değere ayarlanırsa ortaya çıkar.

Teşhis

  1. Hata mesajındaki ExtensionCallout politikasının adını belirleyin. Örneğin, aşağıdaki hatada ExtensionCallout politikasının adı Extension Callout-1 şeklindedir:

    Error Saving Revision 1
    In Extension Callout-1: Connector must not be empty
  2. Başarısız ExtensionDescription 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'si dağıtımı başarısız olur.

Çözünürlük

Uzantı Açıklama Metni Politikası'nın <Connector> öğesine ilişkin değerin 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 örnek ExtensionDescription politikasını düzeltmek için <Connector> öğesini, API Proxy'sinin dağıtıldığı belirli ortamda bulunan uzantının adına 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üleyin.

Aşağıda, Uzantı Adı'nın <Connector> öğesinde doğru bir şekilde ayarlandığı bir ö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ılması şu hata mesajıyla başarısız olur:

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, ExtensionCall politikasındaki <Connector> öğesi, API proxy'sinin dağıtıldığı ortamda mevcut olmayan bir ada ayarlanırsa ortaya çıkar.

Teşhis

  1. ExtensionDescription politika adını, ExtensionDescription 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 ExtensionExtension politika adı Extension Callout-1,invalid uzantının adı cloud_storage, ortam adı ise test şeklindedir:

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

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

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

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

    Aşağıdaki ekran görüntüsünde cloud_storage_ext uzantısının var olduğuna ancak yukarıda gösterilen örnek ExtensionDescription politikasında belirtilen <Connector> öğesiyle eşleşmediğine dikkat edin:

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

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

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

Çözünürlük

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

Uzantının nasıl oluşturulacağıyla ilgili bilgi 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ılması şu hata mesajıyla başarısız olur:

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, Extension callout politikasındaki <Action> öğesi eksikse veya boş bir değere ayarlanırsa ortaya çıkar.

Teşhis

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

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

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

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

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

Uzantıların nasıl oluşturulacağı ve bunların politikada doğru <Action> öğesiyle nasıl kullanılacağı hakkında bilgi edinmek için Eğitim: Uzantıları kullanma bölümüne 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ılması şu hata mesajıyla başarısız olur:

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ü

Yayın İstemci Akışında Uzantılara İzin Ver hata mesajı

Neden

PostClient Akış'ta ExtensionCall politikasının olması yasaktır. PostClient Stream'e bir Extension callout politikası yerleştirilirse API proxy'sinin dağıtımı bu hatayı vererek başarısız olur.

Teşhis

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

    In Extension Callout-1: Policy is not allowed in PostClientFlow.
  2. Hatanın oluştuğu API Proxy'sinin tüm uç noktalarındaki tüm PostClient Akışlarını inceleyin. Lütfen Bir proxy'nin akışlarla nasıl çalıştığını kontrol etme makalesine bakın.

    ExtensionExtension politikasının (1. adımda belirlenen) PostClient Flow üzerinde yer aldığını fark ederseniz hatanın nedeni budur.

    Örneğin, aşağıdaki PostClient Akışı'nda ExtensionCallout Politikası bulunmaktadır:

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

Çözünürlük

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