Pemecahan masalah error deployment kebijakan Info Ekstensi

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

InvalidConnectorInstance

Pesan Error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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

Contoh Pesan Error

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

Contoh Screenshot Error

Pesan error Instance Konektor tidak valid

Penyebab

Error ini terjadi jika elemen <Connector> dalam kebijakan ExtensionCallout tidak ada atau disetel ke nilai kosong.

Diagnosis

  1. Identifikasi nama Kebijakan ExtensionCallout di pesan error. Misalnya, dalam error berikut, nama kebijakan ExtensionCallout adalah Extension Callout-1:

    Error Saving Revision 1
    In Extension Callout-1: Connector must not be empty
  2. Periksa XML kebijakan ExtensionInfo yang gagal dan periksa apakah elemen <Connector> ada dan tidak kosong. Misalnya, dalam kebijakan di bawah ini, elemen <Connector> kosong dan tidak berisi nama ekstensi:

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

Karena elemen <Connector> kosong, deployment Proxy API gagal.

Resolusi

Pastikan nilai untuk elemen <Connector> kebijakan Info Ekstensi selalu ditentukan dan cocok dengan nama ekstensi sebenarnya yang dibuat di organisasi.

Untuk memperbaiki contoh kebijakan ExtensionCallout yang ditampilkan di atas, Anda dapat menetapkan elemen <Connector> ke nama ekstensi yang ada di lingkungan tertentu tempat Proxy API di-deploy.

Untuk menentukan nama ekstensi, di UI Edge, Anda dapat membuka Admin > Ekstensi. Nama semua ekstensi di organisasi Anda akan ditampilkan di sana. Nama ekstensi harus ditetapkan dalam elemen <Connector>.

Melihat nama semua ekstensi di UI Edge.

Berikut adalah contoh dengan Nama Ekstensi yang ditetapkan dengan benar dalam elemen <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

Pesan Error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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

Contoh Pesan Error

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

Contoh Screenshot Error

Pesan error Instance Konektor Tidak ada

Penyebab

Error ini terjadi jika elemen <Connector> di kebijakan ExtensionCallout disetel ke nama yang tidak ada di lingkungan tempat proxy API di-deploy.

Diagnosis

  1. Identifikasi nama kebijakan ExtensionCallout, nama Ekstensi yang tidak valid yang digunakan di elemen <Connector> kebijakan ExtensionCallout, dan lingkungan tempat error terjadi. Anda dapat menemukan semua item ini dalam pesan error.

    Misalnya, pada error berikut, nama kebijakan ExtensionInfo adalah Extension Callout-1,invalid nama Ekstensi adalah cloud_storage dan nama lingkungannya adalah test:

        Error Deploying Revision 1 to test
        In Extension Callout-1: Connector cloud_storage does not exist in environment test.
    
  2. Periksa XML kebijakan ExtensionInfo yang gagal dan verifikasi apakah nama ekstensi yang ditentukan untuk elemen <Connector> cocok dengan yang ada di pesan error.

    Dalam contoh ini, nama ekstensi yang ditentukan dalam elemen <Connector> adalah 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. Pastikan apakah nama ekstensi telah dibuat di lingkungan (ditentukan di langkah #1).

    Di UI Edge, buka Admin > Ekstensi dan periksa apakah ekstensi ada dan namanya cocok dengan yang ditentukan dalam elemen <Connector> di kebijakan ExtensionCallout.

    Perhatikan pada screenshot di bawah bahwa ekstensi cloud_storage_ext ada, tetapi tidak cocok dengan elemen <Connector> yang ditentukan dalam contoh kebijakan ExtensionCallout yang ditampilkan di atas:

    Melihat nama semua ekstensi di UI Edge.

    Karena nama ekstensi yang ditentukan dalam elemen <Connector> tidak ada, Anda akan mendapatkan error deployment:

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

Resolusi

Pastikan ekstensi yang ditentukan dalam elemen <Connector> kebijakan ExtensionInfo telah dibuat dan nama ditentukan dengan benar.

Lihat Tutorial: Menggunakan ekstensi untuk mengetahui informasi tentang cara membuat ekstensi.

Untuk memperbaiki contoh di atas, perbaiki nama agar cocok dengan ekstensi yang sebenarnya:

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

Pesan Error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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

Contoh Pesan Error

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

Contoh Screenshot Error

Pesan error Action tidak valid

Penyebab

Error ini terjadi jika elemen <Action> dalam kebijakan ExtensionCallout tidak ada atau disetel ke nilai kosong.

Diagnosis

  1. Identifikasi nama kebijakan ExtensionInfo. Anda dapat menemukan informasi ini di pesan error. Misalnya, dalam error berikut, nama kebijakan ExtensionCallout adalah Extension Callout-1:

        Error Saving Revision 1
        In Extension Callout-1: Action must not be empty.
    
  2. Periksa XML kebijakan ExtensionCallout yang gagal dan verifikasi apakah tindakan ditentukan dalam elemen <Action>. Jika elemen <Action> tidak ada atau kosong, berarti itulah penyebab error.

    Dalam contoh ini, elemen <Action> kosong:

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

Resolusi

Pastikan elemen <Action> selalu ditentukan dan tidak kosong dalam kebijakan ExtensionCallout.

Lihat Tutorial: Menggunakan ekstensi untuk mengetahui informasi tentang cara membuat ekstensi dan cara menggunakannya dalam kebijakan dengan elemen <Action> yang benar.

Untuk memperbaiki masalah di atas, tentukan tindakan yang benar untuk ekstensi:

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

Pesan Error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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

Contoh Pesan Error

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

Contoh Screenshot Error

Pesan error Izinkan Ekstensi Di Alur Klien Pasca-klien

Penyebab

Dilarang memiliki kebijakan ExtensionCallout di Alur PostClient. Jika kebijakan ExtensionCallout ditempatkan di Flow PostClient, deployment proxy API akan gagal dengan error ini.

Diagnosis

  1. Identifikasi nama kebijakan ExtensionInfo. Anda dapat menemukan informasi ini di pesan error. Misalnya, dalam error berikut, nama kebijakan ExtensionCallout adalah Extension Callout-1:

    In Extension Callout-1: Policy is not allowed in PostClientFlow.
  2. Periksa semua Alur PostClient di semua endpoint Proxy API tertentu tempat kegagalan terjadi. Baca artikel Mengontrol cara proxy dijalankan dengan flow.

    Jika Anda melihat bahwa kebijakan ExtensionCallout (ditentukan pada langkah #1) ditempatkan di PostClient Flow, berarti kebijakan tersebut merupakan penyebab error.

    Misalnya, Alur PostClient berikut memiliki Kebijakan ExtensionInfo di dalamnya:

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

Resolusi

Pastikan kebijakan ExtensionCallout tidak ditempatkan di Flow PostClient.

Untuk memperbaiki masalah yang disebutkan di atas, Anda harus memindahkan kebijakan ExtensionCallout ke Alur lain.

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