Pemecahan masalah error runtime kebijakan FlowCallout

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

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:

Cause 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 Panggilan Flow, jika alur bersama yang ditentukan dalam elemen <SharedFlowBundle> tidak ada di lingkungan, error ini akan terjadi.

Misalnya, jika elemen <SharedFlowBundle> dalam kebijakan Panggilan Alur berisi alur bersama bernama SharedFlow_Sample dan jika alur bersama ini tidak ada di lingkungan, maka error akan terjadi.

Contoh Pesan Error

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

Diagnosis

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

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. Periksa semua kebijakan Flow Callout di Proxy API tertentu tempat terjadinya kegagalan. Periksa apakah ada kebijakan Flow Callout yang elemen <SharedFlowBundle>-nya ditentukan dengan nama alur yang diidentifikasi pada langkah #1 di atas.

    Misalnya, kebijakan berikut menentukan <SharedFlowBundle> sebagai SharedFlow_Sample, yang cocok dengan yang ada dalam string kesalahan.

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

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

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

    flow.SharedFlowNotFound
    

Resolusi

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

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

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

  2. Gunakan Alur Bersama yang sudah ada dan di-deploy di lingkungan pengujian dalam kebijakan Panggilan Alur. Misalnya, Anda dapat menentukan SharedFlow_demo dalam kebijakan Panggilan 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 error, karena Flow Callout juga di-deploy ke lingkungan pengujian.

Penyebab: Alur bersama tidak di-deploy

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

Misalnya, jika elemen <SharedFlowBundle> dalam kebijakan Panggilan Alur berisi alur bersama yang disebut SharedFlow_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. Identifikasi alur bersama yang belum di-deploy. Anda dapat menemukannya di elemen faultstring dalam respons error. Misalnya, dalam faultstring berikut, nama alur bersama adalah Shared-Flow_example:

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

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

    Misalnya, Anda akan melihat pada screenshot di bawah bahwa alur bersama SharedFlow_example ada, tetapitidak di-deploy.

    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 Panggilan Alur, ada dan di-deploy di lingkungan tertentu tempat permintaan API dijalankan.

Untuk memperbaiki contoh di atas, deploy alur bersama yang disebut SharedFlow_example di lingkungan pengujian seperti yang ditunjukkan di bawah:

Jika Anda melakukan panggilan API ke lingkungan pengujian, Anda tidak akan lagi melihat error, karena Flow Callout juga di-deploy ke lingkungan pengujian.