FlowAçıklama politikalı çalışma zamanı hatasını giderme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

SharedFlowNotFound

Hata kodu

flow.SharedFlowNotFound

Hata yanıtı gövdesi

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

Olası nedenler

Bu hatanın olası nedenleri şunlardır:

Neden Açıklama
Paylaşılan akış kullanılamıyor Paylaşılan akış mevcut değil.
Paylaşılan akış dağıtılmadı Paylaşılan akış mevcut ancak dağıtılmamış.

Neden: Paylaşılan akış kullanılamıyor

Akış açıklama metni politikasında, <SharedFlowBundle> öğesinde tanımlanan paylaşılan akış ortamda yoksa bu hata oluşur.

Örneğin, Akış Açıklama Metni politikasındaki <SharedFlowBundle> öğesi SharedFlow_Sample adlı paylaşılan bir akışı içeriyorsa ve bu paylaşılan akış ortamda yoksa hata oluşur.

Örnek hata mesajı

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

Teşhis

  1. Mevcut olmayan paylaşılan akışı belirleyin. Bu bilgiyi hata yanıtının faultstring öğesinde bulabilirsiniz. Örneğin, aşağıdaki faultstring içinde paylaşılan akış adı SharedFlow_Sample'dir:

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. Hatayı içeren API proxy'sindeki tüm Flow Callout politikalarını inceleyin. <SharedFlowBundle> öğesinin yukarıdaki 1. adımda belirtilen akış adıyla tanımlandığı bir Akış Açıklama Metni politikası olup olmadığını kontrol edin.

    Örneğin, aşağıdaki politikada <SharedFlowBundle>, SharedFlow_Sample olarak belirtilmiştir. Bu, hata dizesindekiyle eşleşir.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
       <DisplayName>Auth Flow Callout</DisplayName>
       <SharedFlowBundle>SharedFlow_Sample</SharedFlowBundle>
    </FlowCallout>
    
  3. Edge kullanıcı arayüzünde, bu paylaşılan akışın APIs > Shared Flows altında olup olmadığını kontrol edin. Bu dosya yoksa hatanın nedeni budur. (Yeni Edge kullanıcı arayüzünde, Paylaşılan Akışlar'ı Geliştir sekmesinde bulabilirsiniz.)

    Örneğin, aşağıda gösterilen ekran görüntüsünde paylaşılan akış SharedFlow_Sample mevcut değil.

    Bu paylaşılan akış mevcut olmadığı için şu hata kodunu alırsınız:

    flow.SharedFlowNotFound
    

Çözünürlük

Akış açıklama metni politikasındaki <SharedFlowBundle> öğesinde belirtilen paylaşılan akışın, API isteğinin yürütüldüğü belirli ortamda mevcut ve dağıtılmış olduğundan emin olun.

Sorunu çözmek için aşağıdaki yöntemlerden birini seçebilirsiniz:

  1. Aşağıda gösterildiği gibi SharedFlow_Sample adlı bir paylaşılan akış oluşturun ve bunu aşağıda gösterildiği gibi test ortamına dağıtın:

  2. Akış Çağrısı politikasında, test ortamında dağıtılmış olan mevcut bir paylaşılan akışı kullanın. Örneğin, akış çağrısı politikasında SharedFlow_demo'yu belirtebilirsiniz.

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

    Test ortamına bir API çağrısı yaparsanız Flow Callout da test ortamına dağıtıldığından artık hatayı görmezsiniz.

Neden: Paylaşılan akış dağıtılmamış

Akış açıklama metni politikasının <SharedFlowBundle> öğesinde belirtilen paylaşılan akış dağıtılmamışsa bu hata oluşur.

Örneğin, Akış Açıklama Metni politikasındaki <SharedFlowBundle> öğesi, API isteğinin yapıldığı belirli ortamda dağıtılmamış SharedFlow_example adlı paylaşılan bir akış içeriyorsa hata oluşur.

Örnek hata mesajı

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

Teşhis

  1. Dağıtılmamış paylaşılan akışı belirleyin. Bu bilgiyi hata yanıtının faultstring öğesinde bulabilirsiniz. Örneğin, aşağıdaki faultstring içinde paylaşılan akış adı Shared-Flow_example'dir:

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

  2. Edge kullanıcı arayüzünde, bu paylaşılan akışın dağıtılıp dağıtılmadığını kontrol edin.

    Örneğin, aşağıdaki ekran görüntüsünde paylaşılan akışın SharedFlow_example mevcut olduğunu ancak dağıtılmadığını görebilirsiniz.

    Bu paylaşılan akış dağıtılmadığı için şu hata kodunu alırsınız:

    flow.SharedFlowNotFound
    

Çözünürlük

Akış açıklama metni politikasındaki <SharedFlowBundle> öğesinde belirtilen paylaşılan akışın, API isteğinin yürütüldüğü belirli ortamda mevcut ve dağıtılmış olduğundan emin olun.

Yukarıdaki örneği düzeltmek için aşağıdaki şekilde gösterildiği gibi test ortamında SharedFlow_example adlı paylaşılan akışı dağıtın:

Test ortamına bir API çağrısı yaparsanız Flow Callout da test ortamına dağıtıldığından artık hatayı görmezsiniz.