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

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

InvalidConnectorInstance

Hata Mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

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, ExtensionDraft politikasındaki <Connector> öğesi eksikse veya boş bir değere ayarlanmışsa oluşur.

Teşhis

  1. Hata mesajındaki ExtensionStatus politikasının adını belirleyin. Örneğin, aşağıdaki hatadaki ExtensionDescription politika adı Extension Callout-1 şeklindedir:

    Error Saving Revision 1
    In Extension Callout-1: Connector must not be empty
  2. Başarısız ExtensionDraft politikası XML dosyasını inceleyin ve <Connector> öğesinin mevcut olup 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 oluyor.

Çözünürlük

Uzantı Açıklama Metni politikasının <Connector> öğesine ait 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 ExtensionCall politikasını düzeltmek için <Connector> öğesini, API Proxy'sinin dağıtıldığı belirli ortamda bulunan uzantının adı olarak ayarlayabilirsiniz.

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

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

Uzantı Adı'nın <Connector> öğesinde doğru şekilde ayarlandığı örneği aşağıda görebilirsiniz:

<?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 üzerinden dağıtılması şu hata mesajını gösterir:

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, ExtensionDescription politikası içindeki <Connector> öğesi, API proxy'sinin dağıtıldığı ortamda bulunmayan bir ada ayarlanırsa ortaya çıkar.

Teşhis

  1. ExtensionÇağrı politikasının adını, ExtensionDraft politikasının <Connector> öğesinde kullanılan geçersiz Uzantı adını ve hatanın oluştuğu ortamı tanımlayın. Bu öğelerin tümünü hata mesajında bulabilirsiniz.

    Örneğin, aşağıdaki hatada Extension callout 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 Extension callout politika XML'ini inceleyin ve <Connector> öğesi için belirtilen uzantı adının hata mesajındaki adla eşleşip eşleşmediğini kontrol edin.

    Bu örnekte, <Connector> öğesinde belirtilen uzantı adı cloud_storage şeklindedir:

        <?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 ve uzantının mevcut olup olmadığını ve adın ExtensionDescription politikasındaki <Connector> öğesinde belirtilen adla 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 mevcut olduğunu, ancak yukarıda gösterilen örnek ExtensionDescription politikasında belirtilen <Connector> öğesiyle eşleşmediğini görürsünüz:

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

    <Connector> öğesinde belirtilen uzantı adı olmadığından 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 şekilde 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 üzerinden dağıtılması şu hata mesajını gösterir:

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, ExtensionDraft politikasındaki <Action> öğesi eksikse veya boş bir değere ayarlanmışsa oluşur.

Teşhis

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

        Error Saving Revision 1
        In Extension Callout-1: Action must not be empty.
    
  2. Başarısız ExtensionÇağrı politikası XML dosyasını inceleyin ve <Action> öğesinde işlem yapılıp yapılmadığını 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ının nasıl oluşturulacağı ve politikada doğru <Action> öğesiyle nasıl kullanılacağı hakkında bilgi 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 üzerinden dağıtılması şu hata mesajını gösterir:

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ü

İstemci Sonrası Akışta Uzantılara İzin Ver hata mesajı

Neden

PostClient Akışı'nda Extension callout politika bulundurmak yasaktır. PostClient Akışı'na bir ExtensionDraft politikası yerleştirilirse API proxy'sinin dağıtımı bu hatayla başarısız olur.

Teşhis

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

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

    ExtensionDraft 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ışı'nın içinde ExtensionReference Politikası vardır:

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

Çözünürlük

ExtensionCaption politikasının PostClient Akışı'na yerleştirilmediğinden emin olun.

Yukarıda belirtilen sorunu düzeltmek için Extension callout 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>
...