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ğrı politikasında <SharedFlowBundle> öğesi içinde tanımlanan paylaşılan akış ortamda yoksa bu hata oluşur.

Örneğin, Akış Açıklama politikasındaki <SharedFlowBundle> öğesi, SharedFlow_Sample adlı paylaşılan 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. Var olmayan paylaşılan akışı tanımlayın. Bunu, hata yanıtının faultstring öğesinde bulabilirsiniz. Örneğin, aşağıdaki faultstring içinde paylaşılan akışın adı SharedFlow_Sample şeklindedir:

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. Hatanın oluştuğu API Proxy'sinde bulunan tüm Akış Ek Bilgi politikalarını inceleyin. Yukarıdaki 1. adımda tanımlanan akış adıyla <SharedFlowBundle> öğesinin belirtildiği bir Akış Açıklama Metni politikası olup olmadığını kontrol edin.

    Örneğin, aşağıdaki politika <SharedFlowBundle> özelliğini SharedFlow_Sample olarak belirtir ve bu değer, hata dizesindeki değerle 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 API'ler > Paylaşılan Akışlar altında olup olmadığını kontrol edin. Dosya yoksa hatanın nedeni budur. (Yeni Edge kullanıcı arayüzünde, Paylaşılan Akışları Geliştirme sekmesinin altında bulabileceğinizi unutmayın.)

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

    Bu paylaşılan akış mevcut olmadığından şu hata kodunu alıyorsunuz:

    flow.SharedFlowNotFound
    

Çözünürlük

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

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

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

  2. Akış Açıklama Metni politikasındaki test ortamında dağıtılan, mevcut bir Paylaşılan Akış'ı kullanın. Örneğin, Akış Ek Bilgi 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>
    

    Akış Çağrısı test ortamına da dağıtıldığı için test ortamına bir API çağrısı yaparsanız artık bu hatayı görmezsiniz.

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

Akış Açıklama Politikası'nın <SharedFlowBundle> öğesinde belirtilen paylaşılan akış dağıtılmadıysa bu hata oluşur.

Örneğin, Akış Açıklama politikasındaki <SharedFlowBundle> öğesi, API isteğinin yapıldığı belirli ortamda dağıtılmayan 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ılmayan paylaşılan akışı tanımlayın. Bunu, hata yanıtının faultstring öğesinde bulabilirsiniz. Örneğin, aşağıdaki faultstring içinde paylaşılan akışın adı Shared-Flow_example şeklindedir:

    "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 SharedFlow_example adlı paylaşılan akışın mevcut olduğunu ancak dağıtılmadığını fark edeceksiniz.

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

    flow.SharedFlowNotFound
    

Çözünürlük

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

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

Akış Çağrısı test ortamına da dağıtıldığı için test ortamına bir API çağrısı yaparsanız artık bu hatayı görmezsiniz.