현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서. 정보
SharedFlowNotFound
오류 코드
flow.SharedFlowNotFound
오류 응답 본문
{ "fault": { "faultstring": "Shared Flow shared_flow_name Not Found", "detail": { "errorcode": "flow.SharedFlowNotFound" } } }
가능한 원인
이 오류의 가능한 원인은 다음과 같습니다.
원인 | 설명 |
공유 흐름을 사용할 수 없습니다. | 공유 흐름이 존재하지 않습니다. |
공유 흐름이 배포되지 않았습니다. | 공유 흐름이 있지만 배포되지 않았습니다. |
원인: 공유 흐름을 사용할 수 없음
흐름 콜아웃 정책에서 <SharedFlowBundle>
요소 내에 정의된 공유 흐름이 환경에 없으면 이 오류가 발생합니다.
예를 들어 흐름 콜아웃 정책의 <SharedFlowBundle>
요소에 SharedFlow_Sample
이라는 공유 흐름이 포함되어 있고 이 공유 흐름이 환경에 없으면 오류가 발생합니다.
오류 메시지 예
{
"fault": {
"faultstring": "Shared Flow SharedFlow_Sample Not Found",
"detail": {
"errorcode": "flow.SharedFlowNotFound"
}
}
}
진단
존재하지 않는 공유 흐름을 식별합니다. 오류 응답의
faultstring
요소에서 확인할 수 있습니다. 예를 들어 다음faultstring
에서 공유 흐름 이름은SharedFlow_Sample
입니다."faultstring": "Shared Flow SharedFlow_Sample Not Found"
오류가 발생한 특정 API 프록시의 모든 흐름 콜아웃 정책을 검사합니다. 위의 1단계에서 식별된 흐름 이름으로
<SharedFlowBundle>
요소가 지정된 흐름 콜아웃 정책이 있는지 확인합니다.예를 들어 다음 정책은
<SharedFlowBundle>
을SharedFlow_Sample
로 지정하며, 이는 오류 문자열의 내용과 일치합니다.<FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout"> <DisplayName>Auth Flow Callout</DisplayName> <SharedFlowBundle>SharedFlow_Sample</SharedFlowBundle> </FlowCallout>
Edge UI에서 API > 공유 흐름 아래에 이 공유 흐름이 있는지 확인합니다. 존재하지 않으면 이것이 오류의 원인입니다. (New Edge UI에서는 개발 탭에서 공유 흐름을 찾을 수 있습니다.)
예를 들어 아래 스크린샷에서 공유 흐름
SharedFlow_Sample
은 존재하지 않습니다.이 공유 흐름이 존재하지 않으므로 다음 오류 코드가 표시됩니다.
flow.SharedFlowNotFound
해결 방법
흐름 콜아웃 정책의 <SharedFlowBundle>
요소에 지정된 공유 흐름이 API 요청이 실행되는 특정 환경에 존재하고 배포되어 있는지 확인합니다.
다음 방법 중 하나를 선택하여 문제를 해결할 수 있습니다.
아래와 같이
SharedFlow_Sample
라는 공유 흐름을 만들고 아래와 같이 테스트 환경에 배포합니다.흐름 콜아웃 정책에서 테스트 환경에 배포된 기존 공유 흐름을 사용합니다. 예를 들어 흐름 콜아웃 정책에서 SharedFlow_demo를 지정할 수 있습니다.
<FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout"> <DisplayName>Auth Flow Callout</DisplayName> <SharedFlowBundle>SharedFlow_demo</SharedFlowBundle> </FlowCallout>
테스트 환경에 API를 호출하면 흐름 콜아웃도 테스트 환경에 배포되므로 더 이상 오류가 표시되지 않습니다.
원인: 공유 흐름이 배포되지 않음
예를 들어 흐름 콜아웃 정책의 <SharedFlowBundle>
요소에 지정된 공유 흐름이 배포되지 않으면 이 오류가 발생합니다.
예를 들어 API 요청이 이루어진 특정 환경에 배포되지 않은 SharedFlow_example
이라는 공유 흐름이 흐름 콜아웃 정책의 <SharedFlowBundle>
요소에 포함되어 있으면 오류가 발생합니다.
오류 메시지 예
{
"fault": {
"faultstring": "Shared Flow Shared-Flow_example Not Found",
"detail": {
"errorcode": "flow.SharedFlowNotFound"
}
}
}
진단
배포되지 않은 공유 흐름을 식별합니다. 오류 응답의
faultstring
요소에서 확인할 수 있습니다. 예를 들어 다음faultstring
에서 공유 흐름 이름은Shared-Flow_example
입니다."faultstring": "Shared Flow Shared-Flow_example Not Found"
Edge UI에서 이 공유 흐름이 배포되었는지 확인합니다.
예를 들어 아래 스크린샷에서 공유 흐름
SharedFlow_example
이 있지만배포되지 않았음을 확인할 수 있습니다.
이 공유 흐름은 배포되지 않으므로 오류 코드가 수신됩니다.
flow.SharedFlowNotFound
해결 방법
흐름 콜아웃 정책의 <SharedFlowBundle>
요소에 지정된 공유 흐름이 API 요청이 실행되는 특정 환경에 존재하고 배포되어 있는지 확인합니다.
위의 예시를 수정하려면 아래와 같이 테스트 환경에 SharedFlow_example
라는 공유 흐름을 배포합니다.
테스트 환경에 API를 호출하면 흐름 콜아웃도 테스트 환경에 배포되므로 더 이상 오류가 표시되지 않습니다.