Pemecahan masalah error runtime kebijakan FlowCallout

Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Lihat Dokumentasi Apigee Edge.

ini.

SharedFlowNotFound

Kode error

flow.SharedFlowNotFound

Isi respons error

{
    "fault": {
        "faultstring": "Shared Flow shared_flow_name Not Found",
        "detail": {
            "errorcode": "flow.SharedFlowNotFound"
        }
    }
}

Kemungkinan Penyebab

Kemungkinan penyebab error ini adalah:

Penyebab Deskripsi
Alur bersama tidak tersedia Alur bersama tidak ada.
Alur bersama tidak di-deploy Alur bersama ada, tetapi tidak di-deploy.

Penyebab: Alur bersama tidak tersedia

Dalam kebijakan Pemanggilan Alur, jika alur bersama yang ditentukan dalam elemen <SharedFlowBundle> tidak ada di lingkungan, error ini akan terjadi.

Misalnya, jika elemen <SharedFlowBundle> di kebijakan Pemanggilan Alur berisi alur bersama yang disebut SharedFlow_Sample dan jika alur bersama ini tidak ada di lingkungan, error akan terjadi.

Contoh Pesan Error

{
    "fault": {
        "faultstring": "Shared Flow SharedFlow_Sample Not Found",
        "detail": {
            "errorcode": "flow.SharedFlowNotFound"
        }
    }
}

Diagnosis

  1. Mengidentifikasi alur bersama yang tidak ada. Anda dapat menemukannya di elemen faultstring respons error. Misalnya, dalam faultstring berikut, nama alur bersama adalah SharedFlow_Sample:

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. Periksa semua kebijakan Pemanggilan Alur di Proxy API tertentu tempat kegagalan terjadi. Periksa apakah ada kebijakan Pemanggilan Alur tempat elemen <SharedFlowBundle> ditentukan dengan nama alur yang diidentifikasi di langkah #1 di atas.

    Misalnya, kebijakan berikut menetapkan <SharedFlowBundle> sebagai SharedFlow_Sample, yang cocok dengan apa yang ada di string fault.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
       <DisplayName>Auth Flow Callout</DisplayName>
       <SharedFlowBundle>SharedFlow_Sample</SharedFlowBundle>
    </FlowCallout>
    
  3. Di UI, periksa apakah alur bersama ini ada di bagian Develop > Alur Bersama. Jika tidak ada, maka itulah penyebab error. (Perhatikan bahwa di UI Baru, Anda dapat menemukan Alur Bersama di bawah tab Pengembangan.)

    Misalnya, dalam screenshot yang ditampilkan di bawah, alur bersama SharedFlow_Sample tidak ada.

    Alur bersama SharedFlow_Sample tidak dicantumkan di kolom Alur Bersama.

    Karena alur bersama ini tidak ada, Anda akan menerima kode error:

    flow.SharedFlowNotFound
    

Resolusi

Pastikan alur bersama yang ditentukan dalam elemen <SharedFlowBundle> di kebijakan Flow Call ada dan di-deploy di lingkungan tertentu tempat permintaan API dijalankan.

Anda dapat memilih salah satu cara berikut untuk mengatasi masalah tersebut:

  1. Buat alur bersama bernama SharedFlow_Sample dan deploy lingkungan pengujian seperti yang ditunjukkan di bawah ini:

    Alur bersama SharedFlow_Sample tercantum di kolom Alur Bersama.

  2. Menggunakan Alur Bersama yang sudah ada dan di-deploy di lingkungan pengujian dalam kebijakan Pemanggilan Alur. Misalnya, Anda dapat menentukan SharedFlow_demo dalam kebijakan Pemanggilan Alur.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
      <DisplayName>Auth Flow Callout</DisplayName>
      <SharedFlowBundle>SharedFlow_demo</SharedFlowBundle>
    </FlowCallout>
    

    Jika Anda melakukan panggilan API ke lingkungan pengujian, Anda tidak akan lagi melihat karena Keterangan Alur di-deploy ke lingkungan pengujian.

Penyebab: Alur bersama tidak di-deploy

Jika alur bersama yang ditentukan dalam elemen <SharedFlowBundle> kebijakan Pemanggilan Alur tidak di-deploy, error ini akan terjadi.

Misalnya, jika elemen <SharedFlowBundle> di kebijakan Pemanggilan Alur berisi alur bersama yang disebut Shared-Flow_example yang tidak di-deploy di lingkungan tertentu tempat permintaan API dibuat, maka error akan terjadi.

Contoh Pesan Error

{
    "fault": {
        "faultstring": "Shared Flow Shared-Flow_example Not Found",
        "detail": {
            "errorcode": "flow.SharedFlowNotFound"
        }
    }
}

Diagnosis

  1. Mengidentifikasi alur bersama yang tidak di-deploy. Anda dapat menemukannya di elemen faultstring respons error. Misalnya, dalam faultstring berikut, nama alur bersama adalah Shared-Flow_example:

    "faultstring": "Shared Flow Shared-Flow_example Not Found"

  2. Di UI, periksa apakah alur bersama ini di-deploy.

    Misalnya, Anda akan melihat di screenshot di bawah bahwa alur bersama Shared-Flow_example ada tetapi tidak di-deploy.

    Contoh alur bersama Shared-Flow_sudah ada dan tidak memiliki deployment.

    Karena alur bersama ini tidak di-deploy, Anda akan menerima kode error:

    flow.SharedFlowNotFound
    

Resolusi

Pastikan alur bersama yang ditentukan dalam elemen <SharedFlowBundle> di kebijakan Flow Call ada dan di-deploy di lingkungan tertentu tempat permintaan API dijalankan.

Untuk memperbaiki contoh di atas, deploy alur bersama yang disebut Shared-Flow_example di lingkungan pengujian. Screenshot berikut menunjukkan bahwa alur bersama SharedFlow_Sample di-deploy:

Alur bersama SharedFlow_Sample di-deploy di lingkungan pengujian.

Jika Anda melakukan panggilan API ke lingkungan pengujian, Anda tidak akan lagi melihat karena Keterangan Alur di-deploy ke lingkungan pengujian.