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

คุณกำลังดูเอกสารประกอบ 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"
        }
    }
}

การวินิจฉัย

  1. ระบุขั้นตอนที่แชร์ที่ไม่มีอยู่ ซึ่งดูได้ในองค์ประกอบ faultstring ของการตอบกลับข้อผิดพลาด ตัวอย่างเช่น ใน faultstring ต่อไปนี้ ชื่อขั้นตอนที่แชร์คือ SharedFlow_Sample

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

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

    เช่น ในภาพหน้าจอที่แสดงด้านล่าง ไม่มีขั้นตอนที่แชร์ 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. ใน Edge UI ให้ตรวจสอบว่ามีการใช้งานขั้นตอนที่แชร์นี้อยู่หรือไม่

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

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

    flow.SharedFlowNotFound
    

ความละเอียด

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

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

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