Устранение ошибок во время выполнения политики FlowCallout, Устранение неполадок во время выполнения политики FlowCallout

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

SharedFlowNotFound

Код ошибки

flow.SharedFlowNotFound

Тело ответа об ошибке

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

Возможные причины

Возможные причины этой ошибки:

Причина Описание
Общий поток недоступен Общий поток не существует.
Общий поток не развернут Общий поток существует, но не развернут.

Причина: общий поток недоступен.

В политике Flow Callout, если общий поток, определенный в элементе <SharedFlowBundle> , не существует в среде, возникает эта ошибка.

Например, если элемент <SharedFlowBundle> в политике Flow Callout содержит общий поток с именем SharedFlow_Sample и этот общий поток не существует в среде, возникает ошибка.

Пример сообщения об ошибке

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

Диагностика

  1. Определите общий поток, которого не существует. Вы можете найти это в элементе faultstring ответа об ошибке. Например, в следующей faultstring имя общего потока — SharedFlow_Sample :

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. Изучите все политики Flow Callout в конкретном прокси-сервере API, где произошел сбой. Проверьте, существует ли какая-либо политика вызова потока, в которой указан элемент <SharedFlowBundle> с именем потока, указанным на шаге 1 выше.

    Например, следующая политика определяет <SharedFlowBundle> как SharedFlow_Sample , что соответствует тому, что указано в строке ошибки.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
       <DisplayName>Auth Flow Callout</DisplayName>
       <SharedFlowBundle>SharedFlow_Sample</SharedFlowBundle>
    </FlowCallout>
    
  3. В пользовательском интерфейсе Edge проверьте, существует ли этот общий поток в разделе API > Общие потоки . Если его нет, то это и есть причина ошибки. (Обратите внимание, что в пользовательском интерфейсе New Edge общие потоки можно найти на вкладке «Разработка».)

    Например, на снимке экрана, показанном ниже, общий поток SharedFlow_Sample не существует.

    Поскольку этот общий поток не существует, вы получаете код ошибки:

    flow.SharedFlowNotFound
    

Разрешение

Убедитесь, что общий поток, указанный в элементе <SharedFlowBundle> в политике Flow Callout, существует и развернут в конкретной среде, в которой выполняется запрос API.

Вы можете выбрать один из следующих способов решения проблемы:

  1. Создайте общий поток с именем SharedFlow_Sample , как показано ниже, и разверните его в тестовой среде, как показано ниже:

  2. Используйте уже существующий общий поток, развернутый в тестовой среде в политике Flow Callout. Например, вы можете указать SharedFlow_demo в политике Flow Callout.

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

    Если вы сделаете вызов API в тестовой среде, вы больше не увидите ошибку, поскольку выноска потока также развертывается в тестовой среде.

Причина: общий поток не развернут.

Если общий поток, указанный в элементе <SharedFlowBundle> политики Flow Callout, не развернут, возникает эта ошибка.

Например, если элемент <SharedFlowBundle> в политике Flow Callout содержит общий поток с именем SharedFlow_example , который не развернут в конкретной среде, в которой выполняется запрос API, возникает ошибка.

Пример сообщения об ошибке

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

Диагностика

  1. Определите общий поток, который не развернут. Вы можете найти это в элементе faultstring ответа об ошибке. Например, в следующей faultstring имя общего потока — Shared-Flow_example :

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

  2. В пользовательском интерфейсе Edge проверьте, развернут ли этот общий поток.

    Например, на снимке экрана ниже вы заметите, что общий поток SharedFlow_example существует, но не развернут.

    Поскольку этот общий поток не развернут, вы получаете код ошибки:

    flow.SharedFlowNotFound
    

Разрешение

Убедитесь, что общий поток, указанный в элементе <SharedFlowBundle> в политике Flow Callout, существует и развернут в конкретной среде, в которой выполняется запрос API.

Чтобы исправить приведенный выше пример, разверните общий поток под названием SharedFlow_example в тестовой среде, как показано ниже:

Если вы сделаете вызов API в тестовой среде, вы больше не увидите ошибку, поскольку выноска потока также развертывается в тестовой среде.