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

สาเหตุ: ไม่ได้ใช้ขั้นตอนที่แชร์

หากไม่ได้ติดตั้งใช้งานโฟลว์ที่แชร์ซึ่งระบุไว้ในองค์ประกอบ <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 ใช้งานได้ในสภาพแวดล้อมการทดสอบด้วย