ข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 - BadFormData

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

ลักษณะปัญหา

แอปพลิเคชันไคลเอ็นต์ได้รับรหัสสถานะ HTTP 500 Internal Server Error ด้วย รหัสข้อผิดพลาด protocol.http.BadFormData เป็นการตอบกลับสำหรับการเรียก API

ข้อความแสดงข้อผิดพลาด

แอปพลิเคชันไคลเอ็นต์ได้รับโค้ดตอบกลับต่อไปนี้

HTTP/1.1 500 Internal Server Error

นอกจากนี้ คุณอาจสังเกตเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้

{
   "fault":{
      "faultstring":"Bad Form Data",
      "detail":{
         "errorcode":"protocol.http.BadFormData"
      }
   }
}

ข้อมูลฟอร์ม

ก่อนที่จะลงลึกรายละเอียดของการแก้ปัญหานี้ มาดูกันว่าข้อมูลในแบบฟอร์มคืออะไร

ข้อมูลแบบฟอร์มคือข้อมูลที่ผู้ใช้ระบุผ่านแบบฟอร์ม HTML ที่มีองค์ประกอบ เช่น ช่องป้อนข้อความ ปุ่ม หรือช่องทำเครื่องหมาย โดยทั่วไปแล้ว ข้อมูลฟอร์มจะส่งเป็นชุดของ คู่คีย์-ค่าเป็นส่วนหนึ่งของคำขอ HTTP หรือการตอบกลับ

การส่งข้อมูลแบบฟอร์ม

  1. ประเภทเนื้อหา: application/x-www-form-urlencoded
    • หากข้อมูลในแบบฟอร์มมีขนาดเล็ก ระบบจะส่งข้อมูลเป็นคู่คีย์-ค่าพร้อมข้อมูลต่อไปนี้

      ตัวอย่างคำขอที่มีข้อมูลแบบฟอร์ม

      curl https://HOSTALIAS/somepath -H "Content-Type: application/x-www-form-urlencoded" -d "username=abc@google.com&pasword=secret123"
      
    • อักขระที่ไม่ใช่ตัวอักษรและตัวเลขคละกันทั้งในคีย์และค่า เปอร์เซ็นต์ที่เข้ารหัส นั่นคือแสดงด้วยค่า 3 อักขระ %HH ประกอบด้วยเครื่องหมายเปอร์เซ็นต์ตามด้วยเลขฐานสิบหก 2 หลัก แทนรหัส ASCII ของอักขระที่ระบุ
    • ดังนั้น แม้ว่าจะอนุญาตให้ใช้เครื่องหมายเปอร์เซ็นต์ (%) ในข้อมูลแบบฟอร์ม แต่ ได้รับการตีความว่าเป็นจุดเริ่มต้นของลำดับหลีกพิเศษ ดังนั้น หากข้อมูลในแบบฟอร์มจำเป็นต้อง มีเครื่องหมายเปอร์เซ็นต์ (%) ในคีย์หรือค่า ระบบจึงควรส่งข้อมูล เป็น %25, ซึ่งแทนรหัส ASCII สำหรับเครื่องหมายเปอร์เซ็นต์ (%)
  2. ประเภทเนื้อหา: ข้อมูลหลายส่วน/แบบฟอร์ม

    หากต้องการส่งข้อมูลไบนารีหรือข้อความที่มีอักขระที่ไม่ใช่ ASCII จำนวนมาก จากนั้นคุณจะสามารถส่งข้อมูลที่มี Content-Type: multipart/form-data ตามที่อธิบายไว้ใน แบบฟอร์ม - ส่วนที่ 17.13.4.2

สาเหตุที่เป็นไปได้

ข้อผิดพลาดนี้จะเกิดขึ้นก็ต่อเมื่อเป็นไปตามเงื่อนไขทั้งหมดต่อไปนี้

  1. คำขอ HTTP ที่ไคลเอ็นต์ไปยัง Apigee Edge ประกอบด้วยข้อมูลต่อไปนี้
    1. Content-Type: application/x-www-form-urlencoded และ
    2. ข้อมูลแบบฟอร์มที่มีเครื่องหมายเปอร์เซ็นต์ (%) หรือสัญลักษณ์เปอร์เซ็นต์ (%) ตามด้วยอักขระฐานสิบหกที่ไม่ถูกต้อง ซึ่งไม่ได้รับอนุญาตตาม แบบฟอร์ม - ส่วนที่ 17.13.4.1
  2. พร็อกซี API ใน Apigee Edge จะอ่านพารามิเตอร์แบบฟอร์มที่เฉพาะเจาะจงซึ่งมีอักขระต่างๆ อยู่ ที่ไม่ได้รับอนุญาตให้ใช้ในขั้นตอนคําขอโดยใช้ ExtractVariable หรือ นโยบาย AssignMessage

    ตัวอย่างเช่น หากข้อมูลในแบบฟอร์มมีเครื่องหมายเปอร์เซ็นต์ (%) ตามที่มีอยู่ (ไม่มี การเข้ารหัส) หรือเครื่องหมายเปอร์เซ็นต์ (%) ตามด้วยเลขฐานสิบหกที่ไม่ถูกต้อง ในคีย์และ/หรือค่า จากนั้นคุณจะได้รับข้อผิดพลาดนี้

    สาเหตุที่เป็นไปได้สำหรับข้อผิดพลาดนี้มีดังนี้

    สาเหตุ คำอธิบาย วิธีการแก้ปัญหาสำหรับ
    พารามิเตอร์แบบฟอร์มในคำขอมีอักขระที่ไม่อนุญาต พารามิเตอร์แบบฟอร์มที่ส่งผ่านซึ่งเป็นส่วนหนึ่งของคำขอ HTTP โดยไคลเอ็นต์มีข้อมูล อักขระที่ไม่อนุญาต ผู้ใช้ Edge สาธารณะและ Private Cloud

ขั้นตอนการวินิจฉัยทั่วไป

ใช้เครื่องมือ/เทคนิคต่อไปนี้เพื่อวินิจฉัยข้อผิดพลาดนี้

การตรวจสอบ API

วิธีวินิจฉัยข้อผิดพลาดโดยใช้การตรวจสอบ API

  1. ลงชื่อเข้าใช้ Apigee Edge UI ในฐานะผู้ใช้ที่มี บทบาทที่เหมาะสม
  2. เปลี่ยนเป็นองค์กรที่ต้องการตรวจสอบปัญหา

  3. ไปที่ วิเคราะห์ > การตรวจสอบ API > หน้าตรวจสอบ
  4. เลือกกรอบเวลาที่คุณพบข้อผิดพลาด
  5. พล็อตรหัสข้อผิดพลาดเทียบกับเวลา

  6. เลือกเซลล์ที่มีรหัสข้อผิดพลาด protocol.http.BadFormData เป็น แสดงอยู่ด้านล่าง

    (ดูรูปภาพขนาดใหญ่)

  7. ข้อมูลเกี่ยวกับรหัสข้อผิดพลาด protocol.http.BadFormData คือ ดังที่แสดงด้านล่าง

    (ดูรูปภาพขนาดใหญ่)

  8. คลิก ดูบันทึก และขยายแถวสำหรับคำขอที่ล้มเหลว

  9. จากหน้าต่าง Logs ให้จดรายละเอียดต่อไปนี้
    • รหัสสถานะ: 500
    • แหล่งที่มาของข้อผิดพลาด: proxy
    • รหัสข้อผิดพลาด: protocol.http.BadFormData
    • นโยบายข้อผิดพลาด: extractvariables/EV-ExtractFormParams
  10. หากแหล่งที่มาของข้อผิดพลาดคือ proxy รหัสข้อผิดพลาดจะเป็น protocol.http.BadFormData และ Fault Policy ไม่ว่างเปล่า จากนั้น ระบุว่าเกิดข้อผิดพลาดขณะนโยบายที่ระบุอยู่ในข้อผิดพลาด นโยบายได้อ่านหรือดึงข้อมูลแบบฟอร์ม (พารามิเตอร์แบบฟอร์ม) ซึ่งมี อักขระที่ไม่อนุญาต
  11. ในตัวอย่างนี้ X-Apigee-fault-policy คือ extractvariables/EV- ExtractFormParams, ซึ่งหมายความว่านโยบาย ExtractVariable ที่ชื่อว่า EV-ExtractFormParams ทำงานล้มเหลวขณะอ่านหรือดึงแบบฟอร์ม พารามิเตอร์

เครื่องมือการติดตาม

วิธีวินิจฉัยข้อผิดพลาดโดยใช้เครื่องมือติดตาม

  1. เปิดใช้เซสชันการติดตาม และเลือกระหว่าง
    • รอให้ข้อผิดพลาด 500 Internal Server Error เกิดขึ้น หรือ
    • หากคุณทำให้เกิดปัญหาซ้ำได้ ให้เรียกใช้ API เพื่อจำลองปัญหา 500 Internal Server Error
  2. ตรวจสอบว่าเปิดใช้แสดง FlowInfo ทั้งหมด แล้ว

  3. เลือกคำขอที่ไม่สำเร็จรายการหนึ่งและตรวจสอบการติดตาม
  4. ไปยังส่วนต่างๆ ของการติดตามและค้นหาตำแหน่งที่ล้มเหลว เกิดขึ้น
  5. คุณจะพบข้อผิดพลาดตามปกติในนโยบายข้อใดข้อหนึ่งต่อไปนี้

    ในการติดตามตัวอย่างข้างต้น โปรดทราบว่าความล้มเหลวเกิดขึ้นใน นโยบาย ExtractVariable ชื่อ EV-ExtractFormParams

  6. ไปยังขั้นตอนที่ชื่อ Error หลังนโยบายที่เฉพาะเจาะจงซึ่งล้มเหลว

  7. สังเกตค่าต่อไปนี้จากการติดตาม

    ข้อผิดพลาด: Bad Form Data

    รัฐ: PROXY_REQ_FLOW

    error.class: com.apigee.rest.framework.BadRequestException

    • ค่าของข้อผิดพลาด Bad Form Data ระบุว่าแบบฟอร์ม พารามิเตอร์ มีอักขระบางตัวที่ไม่ได้รับอนุญาต
    • ค่าของรัฐ PROXY_REQ_FLOW, บ่งบอกว่า เกิดข้อผิดพลาดในโฟลว์คำขอของพร็อกซี API
  8. ไปที่ระยะ AX (Analytics Data Recorded) ในการติดตามและคลิก ได้
  9. เลื่อนลงไปที่ส่วน Phase Details - Error Headers และ กำหนดค่าของ X-Apigee-fault-code, X-Apigee-fault-source และ X-Apigee-fault-policy ดังที่แสดงด้านล่าง

  10. โปรดทราบว่าค่าของ X-Apigee-fault-code และ X-Apigee-fault-source คือ protocol.http.BadFormData และ policy ตามลำดับ และ X-Apigee-fault-policy ไม่ว่างเปล่า ซึ่งเป็นการระบุว่าข้อผิดพลาด เกิดขึ้นขณะที่นโยบายเฉพาะที่ระบุไว้ใน X-Apigee-fault-policy ถูก อ่านหรือแยกข้อมูลแบบฟอร์ม (พารามิเตอร์แบบฟอร์ม) ซึ่งมีอักขระที่ ไม่ได้รับอนุญาต

    ส่วนหัวการตอบกลับ ค่า
    X-Apigee-fault-code protocol.http.BadFormData
    X-Apigee-fault-source policy
    X-Apigee-fault-policy extractvariables/EV-ExtractFormParams
  11. ในตัวอย่างนี้ X-Apigee-fault-policy คือ extractvariables/EV- ExtractFormParams, ซึ่งหมายความว่านโยบาย ExtractVariable ที่ชื่อว่า EV-ExtractFormParams ล้มเหลวขณะอ่านหรือแตกข้อมูลแบบฟอร์ม พารามิเตอร์

NGINX

วิธีวินิจฉัยข้อผิดพลาดโดยใช้บันทึกการเข้าถึง NGINX

  1. หากคุณเป็นผู้ใช้ Private Cloud คุณสามารถใช้บันทึกการเข้าถึง NGINX เพื่อ ระบุข้อมูลสำคัญเกี่ยวกับ HTTP 500 Internal Server Error
  2. ตรวจสอบบันทึกการเข้าถึง NGINX ดังต่อไปนี้

    /opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log

  3. ค้นหาว่ามีข้อผิดพลาด 500 ที่มีรหัสข้อผิดพลาดไหม protocol.http.BadFormData ในช่วงระยะเวลาหนึ่ง (หากปัญหา เกิดขึ้นในอดีต) หรือหากมีคำขอใดที่ยังคงล้มเหลว 500
  4. หากคุณพบข้อผิดพลาด 500 ที่มี X-Apigee-fault-code ตรงกับค่าของ protocol.http.BadFormData จากนั้น ระบุค่าของ X-Apigee-fault-source และ X-Apigee-fault-policy.

    ตัวอย่างข้อผิดพลาด 500 จากบันทึกการเข้าถึง NGINX

    ตัวอย่างรายการข้างต้นจากบันทึกการเข้าถึง NGINX มีค่าต่อไปนี้สำหรับ X-Apigee-fault-code และ X-Apigee-fault-source:

    ส่วนหัว ค่า
    X-Apigee-fault-code protocol.http.BadFormData
    X-Apigee-fault-source policy
    X-Apigee-fault-policy extractvariables/EV-ExtractFormParams
  5. โปรดทราบว่าค่าของ X-Apigee-fault-code, X-Apigee-fault-source เท่ากับ protocol.http.BadFormData policy ตามลำดับ และ X-Apigee-fault-policy ไม่ว่างเปล่า ซึ่งเป็นการระบุว่าข้อผิดพลาด เกิดขึ้นขณะที่นโยบายเฉพาะที่ระบุไว้ใน X-Apigee-fault-policy, ถูก อ่านหรือแยกข้อมูลแบบฟอร์ม (พารามิเตอร์แบบฟอร์ม) ซึ่งมีอักขระที่ ไม่ได้รับอนุญาต
  6. ในตัวอย่างนี้ X-Apigee-fault-policy คือ extractvariables/EV- ExtractFormParams, ซึ่งหมายความว่านโยบาย ExtractVariable ที่ชื่อว่า EV-ExtractFormParams ล้มเหลวขณะอ่านแบบฟอร์ม พารามิเตอร์

สาเหตุ: พารามิเตอร์แบบฟอร์มในคำขอมีอักขระที่ไม่อนุญาต

การวินิจฉัย

  1. กำหนดรหัสข้อผิดพลาด แหล่งที่มาของข้อผิดพลาด และนโยบายข้อผิดพลาดสำหรับ 500 Internal Server Error โดยใช้การตรวจสอบ API, เครื่องมือการติดตาม หรือบันทึกการเข้าถึง NGINX ตามที่อธิบายไว้ ในขั้นตอนการวิเคราะห์ทั่วไป
  2. หาก Fault Code คือ protocol.http.BadFormData แสดงว่า Fault Source จะมี ค่า proxy หรือ policy และ Fault Policy ไม่ใช่ค่า ว่างเปล่า, จากนั้นจะบ่งชี้ว่านโยบายที่ระบุใน,ล้มเหลวขณะที่ อ่านหรือแยกข้อมูลแบบฟอร์ม (พารามิเตอร์ของฟอร์ม)
  3. ตรวจสอบนโยบายที่ระบุไว้ในนโยบายข้อผิดพลาดและระบุสิ่งต่อไปนี้ ข้อมูล:
    1. แหล่งที่มา: ระบุว่านโยบายกำลังอ่านหรือดึงข้อมูลจาก คำขอหรือการตอบกลับ
    2. พารามิเตอร์แบบฟอร์ม: ระบุพารามิเตอร์แบบฟอร์มเฉพาะเจาะจงที่กําลังอ่านใน

      ตัวอย่าง #1

      ตัวอย่างที่ 1: นโยบาย ExtractVariable ในการดึงข้อมูลพารามิเตอร์แบบฟอร์ม

            <ExtractVariables name="EV-ExtractFormParms">
               <DisplayName>EV-ExtractFormParams</DisplayName>
               <Source>request</Source>
               <FormParam name="username">
                  <Pattern ignoreCase="false">{username}</Pattern>
               </FormParam>
               <FormParam name="password">
                 <Pattern ignoreCase="false">{password}</Pattern>
               </FormParam>
               <VariablePrefix>forminfo</VariablePrefix>
             <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
            </ExtractVariables>
            

      ในนโยบาย ExtractVariable ข้างต้น

      • แหล่งที่มา: request

        ระบุโดยองค์ประกอบ <Source>

      • พารามิเตอร์แบบฟอร์ม: username และ password

        ซึ่งระบุโดยองค์ประกอบ <Pattern> ภายในองค์ประกอบ องค์ประกอบ <FormParam>

      พารามิเตอร์นี้ระบุว่าพารามิเตอร์ของฟอร์ม username และ/หรือ password ส่งผ่านเป็นส่วนหนึ่งของคำขอ HTTP โดยไคลเอ็นต์ไปยัง Apigee Edge มีอักขระที่ไม่ได้รับอนุญาตให้ใช้งาน

      ตัวอย่าง #2

      ตัวอย่างที่ 2: พารามิเตอร์แบบฟอร์มการคัดลอกนโยบาย AssignMessage

            <AssignMessage continueOnError="false" enabled="true" name="AM-CopyFormParams">
              <Copy source="request">
                <FormParams>
                  <FormParam name="username"/>
                  <FormParam name="password"/>
                </FormParams>
              </Copy>
              <AssignTo createNew="true" transport="http" type="request"/>
            </AssignMessage>
            

      ในนโยบาย ExtractVariable ข้างต้น

      • แหล่งที่มา: request

        ซึ่งระบุโดยแอตทริบิวต์ source ใน องค์ประกอบ <Copy>

      • พารามิเตอร์แบบฟอร์ม: username และ password

        ซึ่งระบุโดยแอตทริบิวต์ name ใน องค์ประกอบ <FormParam>

      พารามิเตอร์นี้ระบุว่าพารามิเตอร์ของฟอร์ม username หรือ password หรือ ทั้ง 2 รายการที่ส่งเป็นส่วนหนึ่งของคำขอ HTTP โดยไคลเอ็นต์ไปยัง Apigee Edge มีรายการ อักขระที่ไม่อนุญาตให้ใช้

  4. ตรวจสอบว่ามีอักขระที่ไม่ได้รับอนุญาตหรือไม่ อักขระที่ใช้ในพารามิเตอร์แบบฟอร์มที่ระบุในขั้นตอนที่ 3 โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้

    เครื่องมือการติดตาม

    วิธีตรวจสอบโดยใช้เครื่องมือติดตาม

    1. หากคุณได้บันทึกการติดตามสำหรับคำขอที่ล้มเหลวตามที่อธิบายไว้ใน ขั้นตอนการวิเคราะห์ทั่วไป แล้วเลือกหนึ่งใน คำขอที่ไม่สำเร็จ
    2. หากคุณระบุว่าพารามิเตอร์ฟอร์มมีอักขระ ที่ ไม่ได้รับอนุญาต ให้ใช้เป็นส่วนหนึ่งของคำขอ HTTP ใน ขั้นตอนที่ 3 ด้านบน จากนั้น
      1. ไปที่ระยะคำขอที่ได้รับจากไคลเอ็นต์
      2. เลื่อนลงไปที่ส่วนรายละเอียดระยะ และตรวจสอบ ส่งคำขอเนื้อหา

        ( ดูรูปภาพขนาดใหญ่ขึ้น)

      3. ในตัวอย่างด้านบน โปรดทราบว่าพารามิเตอร์แบบฟอร์ม password มีเครื่องหมายเปอร์เซ็นต์ (%)
      4. เนื่องจากเครื่องหมายเปอร์เซ็นต์ (%) ยังใช้สำหรับ การเข้ารหัสเปอร์เซ็นต์กับอักขระพิเศษ จะใช้ตามที่เป็นไม่ได้ ข้อมูลแบบฟอร์ม
      5. ดังนั้น Apigee Edge จะตอบสนองด้วย 500 Internal Server Error ที่มีรหัสข้อผิดพลาด protocol.http.BadFormData

    คำขอจริง

    วิธีตรวจสอบโดยใช้คำขอจริงมีดังนี้

    1. หากคุณไม่มีสิทธิ์เข้าถึงคำขอจริงที่ส่งไปยังเซิร์ฟเวอร์เป้าหมาย ให้ไปที่ความละเอียด
    2. หากคุณมีสิทธิ์เข้าถึงคำขอจริงที่ส่งไปยัง Apigee Edge ให้ทำการดำเนินการ ขั้นตอนต่อไปนี้
      1. ตรวจสอบเนื้อหาข้อมูลแบบฟอร์มและดูว่ามีอักขระที่ ไม่อนุญาตให้ใช้ เช่น เครื่องหมายเปอร์เซ็นต์ (%) หรือเครื่องหมายเปอร์เซ็นต์ (%) ตามด้วย อักขระฐานสิบหก

        ตัวอย่าง #1

        ตัวอย่างคำขอที่ 1: ข้อมูลในแบบฟอร์มซึ่งเป็นส่วนหนึ่งของคำขอ

        curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=123456abc123&client_secret=c23578%ZY"
        

        ในตัวอย่างนี้ โปรดทราบว่าองค์ประกอบ client_secret มีเครื่องหมายเปอร์เซ็นต์ (%) ตามด้วย อักขระฐานสิบหกไม่ถูกต้อง ZY

        ตัวอย่าง #2

        ตัวอย่างคำขอ #2: ข้อมูลแบบฟอร์มที่ส่งในไฟล์

        curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d @form_data.xml
        

        เนื้อหาของ form_data.xml:

        xml=<user><username>abc1234@google.com</username><password>qwerty12345!@#$%</password></user>
        

        ในตัวอย่างนี้ โปรดทราบว่าองค์ประกอบ password มีเครื่องหมายเปอร์เซ็นต์ (%) ซึ่งไม่ควร ตามที่อยู่ในข้อมูลแบบฟอร์ม

    3. ใน 2 ตัวอย่างด้านบน ข้อมูลแบบฟอร์มที่ส่งเป็นส่วนหนึ่งของคำขอ HTTP ไปยัง Apigee Edge มีอักขระที่ไม่ได้รับอนุญาตให้ใช้งาน
    4. ดังนั้น Apigee Edge จะตอบสนองด้วย 500 Internal Server Error มีรหัสข้อผิดพลาด protocol.http.BadFormData

ความละเอียด

  1. ตรวจสอบว่าสัญลักษณ์พิเศษทั้งในคีย์และค่าของข้อมูลแบบฟอร์มหรือพารามิเตอร์ ส่งเป็นส่วนหนึ่งของคำขอ HTTP โดยไคลเอ็นต์มีการเข้ารหัสเสมอตามที่อธิบายไว้ใน ข้อมูลแบบฟอร์ม - application/x-www-form-urlencrypted
  2. สำหรับตัวอย่างที่พูดถึงข้างต้น คุณสามารถแก้ไขปัญหาได้ดังนี้

    ตัวอย่าง #1

    ตัวอย่างที่ 1: ข้อมูลแบบฟอร์มที่ส่งผ่านเป็นส่วนหนึ่งของคำขอ

    ใช้ ที่ถูกต้อง อักขระเลขฐานสิบหกที่ตรงกับรหัส ASCII สำหรับอักขระที่ระบุ เช่น หากคุณต้องการส่งเครื่องหมายดอลลาร์ ($) ให้ใช้ %24 ดังที่แสดงด้านล่าง

    curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=123456abc123&client_secret=c23578%24"
    

    ตัวอย่าง #2

    ตัวอย่างคำขอ #2: ข้อมูลแบบฟอร์มที่ส่งในไฟล์

    curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d @form_data.xml
    

    เนื้อหาของ form_data.xml:

    ใช้เมนู การเข้ารหัสเปอร์เซ็นต์สำหรับเครื่องหมายเปอร์เซ็นต์ (%) ซึ่งแก้ไขไฟล์เป็น มี %25 ดังที่แสดงด้านล่าง

    xml=<user><username>abc1234@google.com</username><password>qwerty12345!!@#$%25</password></user>
    

ข้อมูลจำเพาะ

Apigee Edge คาดว่าจะมีการส่งข้อมูลแบบฟอร์มตามข้อกำหนดต่อไปนี้

ข้อมูลจำเพาะ
ข้อมูลแบบฟอร์ม - application/x-www-form-urlencoded

หากยังต้องการความช่วยเหลือจากทีมสนับสนุนของ Apigee ให้ไปที่ต้องรวบรวม ข้อมูลการวินิจฉัย

ต้องรวบรวมข้อมูลการวินิจฉัย

หากปัญหายังคงอยู่แม้ว่าจะทำตามคำแนะนำด้านบนแล้ว ให้รวบรวมข้อมูลต่อไปนี้ ข้อมูลการวินิจฉัย จากนั้นติดต่อฝ่ายสนับสนุนของ Apigee Edge

หากคุณเป็นผู้ใช้ระบบคลาวด์สาธารณะ โปรดระบุข้อมูลต่อไปนี้

  • ชื่อองค์กร
  • ชื่อสภาพแวดล้อม
  • ชื่อพร็อกซี API
  • ทำตามคำสั่ง curl ในการสร้างซ้ำ 500 Internal Server Error ที่มีรหัสข้อผิดพลาด protocol.http.BadFormData
  • ไฟล์การติดตามสำหรับคำขอ API

หากคุณเป็นผู้ใช้ Private Cloud ให้ระบุข้อมูลต่อไปนี้

  • พบข้อความแสดงข้อผิดพลาดทั้งหมดสำหรับคำขอที่ล้มเหลว
  • ชื่อสภาพแวดล้อม
  • แพ็กเกจพร็อกซี API
  • ไฟล์การติดตามสำหรับคำขอ API
  • บันทึกการเข้าถึง NGINX

    /opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log

    ที่ไหน: ORG, ENV และ PORT# จะถูกแทนที่ด้วย มูลค่าจริง

  • บันทึกของระบบโปรแกรมประมวลผลข้อความ

    /opt/apigee/var/log/edge-message-processor/logs/system.log

ข้อมูลอ้างอิง