การแก้ปัญหาข้อผิดพลาดเกี่ยวกับรันไทม์ของนโยบาย Flowไฮไลต์

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

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"
        }
    }
}

การวินิจฉัย

  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. ใน UI ของ Edge ให้ตรวจสอบว่าโฟลว์ที่แชร์นี้มีอยู่ภายใต้ APIs > Shared Flows หรือไม่ หากไม่มีไฟล์ดังกล่าว แสดงว่าไฟล์นั้นเป็นสาเหตุของข้อผิดพลาด (โปรดทราบว่าใน UI ของ Edge เวอร์ชันใหม่ คุณจะเห็นโฟลว์ที่แชร์ได้ในแท็บพัฒนา)

    เช่น ในภาพหน้าจอที่แสดงด้านล่างนี้ โฟลว์ที่แชร์ SharedFlow_Sample ไม่มีอยู่

    เนื่องจากไม่มีโฟลว์ที่แชร์นี้ คุณจึงได้รับรหัสข้อผิดพลาดต่อไปนี้

    flow.SharedFlowNotFound
    

ความละเอียด

ตรวจสอบว่าโฟลว์ที่แชร์ซึ่งระบุไว้ในองค์ประกอบ <SharedFlowBundle> ในนโยบายคำอธิบายประกอบโฟลว์มีอยู่และได้รับการติดตั้งใช้งานในสภาพแวดล้อมที่เฉพาะเจาะจงซึ่งมีการเรียกใช้คำขอ API

คุณเลือกวิธีใดวิธีหนึ่งต่อไปนี้เพื่อแก้ไขปัญหาได้

  1. สร้างโฟลว์ที่แชร์ชื่อ SharedFlow_Sample ดังที่แสดงด้านล่าง แล้วนำไปใช้ในสภาพแวดล้อมการทดสอบดังที่แสดงด้านล่าง

  2. ใช้โฟลว์ที่แชร์ที่มีอยู่แล้วซึ่งติดตั้งใช้งานในสภาพแวดล้อมการทดสอบในนโยบายข้อความไฮไลต์ของโฟลว์ เช่น คุณระบุ SharedFlow_demo ในนโยบายข้อความไฮไลต์ของโฟลว์ได้

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

    หากเรียก API ไปยังสภาพแวดล้อมการทดสอบ คุณจะไม่เห็นข้อผิดพลาดอีกต่อไป เนื่องจากมีการติดตั้งใช้งาน Flow Callout ในสภาพแวดล้อมการทดสอบด้วย

สาเหตุ: ไม่ได้ติดตั้งใช้งานโฟลว์ที่แชร์

หากไม่ได้ติดตั้งใช้งานโฟลว์ที่แชร์ซึ่งระบุไว้ในองค์ประกอบ <SharedFlowBundle> ของนโยบายข้อความไฮไลต์โฟลว์ ข้อผิดพลาดนี้จะเกิดขึ้น

เช่น หากองค์ประกอบ <SharedFlowBundle> ในนโยบายข้อความอธิบายโฟลว์มีโฟลว์ที่แชร์ชื่อ 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. ใน UI ของ Edge ให้ตรวจสอบว่ามีการติดตั้งใช้งานโฟลว์ที่แชร์นี้หรือไม่

    เช่น คุณจะเห็นในภาพหน้าจอด้านล่างว่าโฟลว์ที่แชร์SharedFlow_exampleมีอยู่แต่ไม่ได้ใช้งาน

    เนื่องจากไม่ได้ติดตั้งใช้งานโฟลว์ที่แชร์นี้ คุณจึงได้รับรหัสข้อผิดพลาดต่อไปนี้

    flow.SharedFlowNotFound
    

ความละเอียด

ตรวจสอบว่าโฟลว์ที่แชร์ซึ่งระบุไว้ในองค์ประกอบ <SharedFlowBundle> ในนโยบายข้อความอธิบายโฟลว์มีอยู่และได้รับการติดตั้งใช้งานในสภาพแวดล้อมที่เฉพาะเจาะจงซึ่งมีการเรียกใช้คำขอ API

หากต้องการแก้ไขตัวอย่างข้างต้น ให้ทําการติดตั้งใช้งานโฟลว์ที่แชร์ชื่อ SharedFlow_example ในสภาพแวดล้อมการทดสอบตามที่แสดงด้านล่าง

หากเรียก API ไปยังสภาพแวดล้อมการทดสอบ คุณจะไม่เห็นข้อผิดพลาดอีกต่อไป เนื่องจากมีการติดตั้งใช้งาน Flow Callout ในสภาพแวดล้อมการทดสอบด้วย