การแก้ปัญหาข้อผิดพลาดในการติดตั้งใช้งานนโยบายการดึงข้อมูลตัวแปร

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

NothingToExtract

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision [revision_number]
ExtractVariables [policy_name]: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory. Revision:[revision_number]; APIProxy:[proxy_name]; Organization:[org_name]; Environment:[env_name].

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Saving Revision 2
ExtractVariables EV-XML-Age: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.

ภาพหน้าจอตัวอย่าง

สาเหตุ

หากนโยบายการดึงข้อมูลตัวแปรไม่มีองค์ประกอบ URIPath, QueryParam, Header, FormParam, XMLPayload หรือ JSONPayload การใช้งานพร็อกซี API จะไม่สำเร็จ เพราะไม่มีข้อมูลให้ดึงข้อมูล

ตามที่ระบุไว้ในข้อความแสดงข้อผิดพลาด นโยบายดึงข้อมูลตัวแปรต้องมีองค์ประกอบอย่างน้อย 1 รายการรวมอยู่ในนโยบายดังกล่าว ได้แก่ URIPath, QueryParam, Header, FormParam, XMLPayload หรือ JSONPayload

การวินิจฉัย

ตรวจสอบนโยบายการดึงข้อมูลตัวแปรที่ตั้งชื่อในข้อความแสดงข้อผิดพลาด หากนโยบายไม่มีองค์ประกอบอย่างใดอย่างหนึ่งต่อไปนี้ URIPath, QueryParam, Header, FormParam, XMLPayload หรือ JSONPayload สาเหตุของข้อผิดพลาดดังกล่าว ตัวอย่างเช่น นโยบายการดึงข้อมูลตัวแปรต่อไปนี้ไม่มีองค์ประกอบที่กล่าวถึงข้างต้น

<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
    <DisplayName>EV-XML-Age</DisplayName>
    <Properties/>
</ExtractVariables>

การใช้งานพร็อกซี API ล้มเหลวเนื่องจากไม่มีองค์ประกอบที่จำเป็นในนโยบายการดึงข้อมูลตัวแปร

ความละเอียด

ตรวจสอบว่านโยบายการดึงข้อมูลตัวแปรมีองค์ประกอบที่จำเป็นต่อไปนี้อย่างน้อย 1 รายการ ได้แก่ URIPath, QueryParam, Header, FormParam, XMLPayload และ JSONPayload เช่น

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
  <DisplayName>EV-XML-Age</DisplayName>
  <Properties/>
  <Source>request</Source>
  <XMLPayload>
    <Namespaces/>
      <Variable name="age" type="integer">
          <XPath>/age</XPath>
      </Variable>
  </XMLPayload>
</ExtractVariables>

NONEmptyPrefixMappedToEmptyURI

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision [revision_number]
ExtractVariables [policy_name]: Non-empty prefix [prefix_name] cannot be mapped to empty uri.

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Saving Revision 3
ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.

ภาพหน้าจอตัวอย่าง

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากนโยบายการดึงข้อมูลตัวแปรมีคำนำหน้าที่กำหนดไว้ในองค์ประกอบ <Namespace> ภายใต้องค์ประกอบ <XMLPayload> แต่ไม่ได้กำหนด URI

การวินิจฉัย

  1. ระบุนโยบายการดึงข้อมูลตัวแปรที่เกิดข้อผิดพลาดและชื่อของคำนำหน้า คุณจะพบทั้ง 2 รายการนี้ในข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ EV-XML-Age และคำนำหน้าคือ apigee

    ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
    
  2. ใน XML ของนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลว ให้ตรวจสอบว่าชื่อคำนำหน้าที่ตั้งค่าไว้ในองค์ประกอบ <Namespace> ภายใต้องค์ประกอบ <XMLPayload> ตรงกับชื่อนำหน้าที่ระบุไว้ในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 1 ด้านบน) ตัวอย่างเช่น นโยบายต่อไปนี้ระบุคำนำหน้าชื่อ apigee ในองค์ประกอบ <Namespace> ซึ่งตรงกับสิ่งที่อยู่ในข้อความแสดงข้อผิดพลาด

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
        <DisplayName>EV-XML-Age</DisplayName>
        <Source clearPayload="false">request</Source>
        <XMLPayload stopPayloadProcessing="false">
          <Namespaces>
            <Namespace prefix="apigee"></Namespace>
            <Namespace prefix="gmail">http://mail.google.com</Namespace>
          </Namespaces>
        <Variable name="legName" type="string">
        <XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</Xpath>
            </Variable>
        </XMLPayload>
    </ExtractVariables>
    
  3. ตรวจสอบว่าองค์ประกอบ <Namespace> ที่มีคำนำหน้าที่เจาะจงซึ่งระบุไว้ในขั้นตอนที่ 2 มี URI ที่ถูกต้องหรือไม่ หากไม่มี URI แสดงว่าเป็นสาเหตุของข้อผิดพลาด

    ในตัวอย่างนโยบายการดึงข้อมูลตัวแปรที่แสดงด้านบน ให้สังเกตว่าไม่มี URI ที่ตรงกับองค์ประกอบ <Namespace> ที่มีคำนำหน้า apigee ดังนั้นคุณจึงได้รับข้อผิดพลาด

    ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
    
    

ความละเอียด

ตรวจสอบว่าองค์ประกอบ <Namespace> ทั้งหมดที่กําหนดด้วยคํานําหน้ามี URI ที่สอดคล้องกันในนโยบายการดึงข้อมูลตัวแปร เช่น

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
    <DisplayName>EV-XML-Age</DisplayName>
    <Source clearPayload="false">request</Source>
    <XMLPayload stopPayloadProcessing="false">
    <Namespaces>
        <Namespace prefix="apigee">http://www.apigee.com</Namespace>
        <Namespace prefix="gmail">http://mail.google.com</Namespace>
     </Namespaces>
    <Variable name="legName" type="string">
        <XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</Xpath>
    </Variable>
    </XMLPayload>
</ExtractVariables>

DuplicatePrefix

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision [revision_number]
ExtractVariables [policy_name]: Duplicate prefix [prefix_name].

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Saving Revision 2
ExtractVariables EV-XML-Age: Duplicate prefix apigee.

ภาพหน้าจอตัวอย่าง

สาเหตุ

ข้อผิดพลาดนี้จะเกิดขึ้น หากนโยบายการดึงข้อมูลตัวแปรมีคำนำหน้าเดียวกันมากกว่า 1 ครั้งในองค์ประกอบ <Namespace> ภายใต้องค์ประกอบ <XMLPayload>

ตัวอย่างเช่น ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากมีการกำหนดคำนำหน้า apigee ไว้ 2 ครั้งตามที่แสดงด้านล่าง

<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>

การวินิจฉัย

  1. ระบุนโยบายการดึงข้อมูลตัวแปรที่เกิดข้อผิดพลาดและชื่อของคำนำหน้า คุณจะพบทั้ง 2 รายการนี้ในข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ EV-XML-Age และคำนำหน้าคือ apigee

    ExtractVariables EV-XML-Age: Duplicate prefix apigee.
    
  2. ใน XML ของนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลว ให้ตรวจสอบว่าชื่อคำนำหน้าที่ตั้งค่าไว้ในองค์ประกอบ <Namespace> ภายใต้องค์ประกอบ <XMLPayload> ตรงกับชื่อนำหน้าที่ระบุไว้ในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 1 ด้านบน) ตัวอย่างเช่น นโยบายต่อไปนี้ระบุคำนำหน้าชื่อ apigee ในองค์ประกอบ <Namespace> ซึ่งตรงกับสิ่งที่อยู่ในข้อความแสดงข้อผิดพลาด

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
        <DisplayName>EV-XML-Age</DisplayName>
        <Source clearPayload="false">request</Source>
        <XMLPayload stopPayloadProcessing="false">
          <Namespaces>
              <Namespace prefix="gmail">http://mail.google.com</Namespace>
              <Namespace prefix="apigee">http://www.apigee.com</Namespace>
              <Namespace prefix="apigee">http://www.apigee.com</Namespace>
          </Namespaces>
          <Variable name="legName" type="string
              <XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>
          </Variable>
        </XMLPayload>
      </ExtractVariables>
    
  3. พิจารณาว่าองค์ประกอบ <Namespace> ที่มีคำนำหน้าที่เจาะจงตามที่ระบุไว้ในขั้นตอนที่ 2 มากกว่า 1 ครั้งหรือไม่ หากกำหนดไว้มากกว่า 1 ครั้ง ก็แสดงว่าเกิดจากข้อผิดพลาด

    ในตัวอย่างนโยบายการดึงข้อมูลตัวแปรที่แสดงด้านบน ให้สังเกตว่ามีการกำหนดองค์ประกอบ <Namespace> ที่มีคำนำหน้า apigee ไว้ 2 ครั้ง คุณจึงได้รับข้อผิดพลาด

    ExtractVariables EV-XML-Age: Duplicate prefix apigee.
    
    

ความละเอียด

ตรวจสอบว่ามีคำจำกัดความเพียง 1 รายการสำหรับแต่ละคำนำหน้าในองค์ประกอบ <Namespace> ในนโยบายการดึงข้อมูลตัวแปร เช่น

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
    <DisplayName>EV-XML-Age</DisplayName>
    <Source clearPayload="false">request</Source>
    <XMLPayload stopPayloadProcessing="false">
      <Namespaces>
          <Namespace prefix="apigee">http://www.apigee.com</Namespace>
          <Namespace prefix="gmail">http://mail.google.com</Namespace>
      </Namespaces>
      <Variable name="legName" type="string">
          <XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</Xpath>
      </Variable>
    </XMLPayload>
</ExtractVariables>

NoXPathsToEvaluate

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision [revision_number]
ExtractVariables [policy_name]:no xpaths to evaluate in variable name.

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Saving Revision 4
ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.

ภาพหน้าจอตัวอย่าง

สาเหตุ

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

การวินิจฉัย

  1. ระบุนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลวจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ Extract-Variables-1

    ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
    
  2. ใน XML ของนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลว ให้ตรวจสอบว่ามีองค์ประกอบ <XMLPayload> ที่ไม่มีองค์ประกอบย่อย <XPath> หรือไม่ หากเป็นเช่นนั้น นั่นเป็นสาเหตุของข้อผิดพลาด

    เช่น นี่คือนโยบายการแยกตัวแปรที่มีองค์ประกอบ <XMLPayload>

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
        <DisplayName>Extract Variables-1</DisplayName>
        <Properties/>
        <Source clearPayload="false">request</Source>
        <VariablePrefix>apigee</VariablePrefix>
        <XMLPayload stopPayloadProcessing="false">
            <Namespaces/>
            <Variable name="HostReachable" type="boolean">
            </Variable>
        </XMLPayload>
    </ExtractVariables>
    

    เนื่องจากไม่มีองค์ประกอบ <XPath> ทำให้ใช้งานพร็อกซี API ไม่สำเร็จ

ความละเอียด

ตรวจสอบว่านโยบายการแยกตัวแปรมีองค์ประกอบ <XPath> ที่กำหนดไว้ในองค์ประกอบ <XMLPayload> เช่น

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
    <DisplayName>Extract Variables-1</DisplayName>
    <Properties/>
    <Source clearPayload="false">request</Source>
    <VariablePrefix>apigee</VariablePrefix>
    <XMLPayload stopPayloadProcessing="false">
        <Namespaces/>
        <Variable name="HostReachable" type="boolean">
            <XPath>/isReachable</XPath>
        </Variable>
    </XMLPayload>
</ExtractVariables>

EmptyXPathExpression

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision [revision_number]
ExtractVariables [policy_name]: XPath expression is empty in variable name.

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Saving Revision 6
ExtractVariables Extract-Variables-1: XPath expression is empty in variable name.

ภาพหน้าจอตัวอย่าง

สาเหตุ

หากนโยบายการดึงข้อมูลตัวแปรมีนิพจน์ <XPath> ว่างภายในองค์ประกอบ <XMLPayload> การใช้งานพร็อกซี API จะล้มเหลว

การวินิจฉัย

  1. ระบุนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลวจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ Extract-Variables-1

    ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
    
  2. ใน XML ของนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลว ให้ตรวจสอบว่ามีองค์ประกอบ <XMLPayload> ที่มีองค์ประกอบย่อย <XPath> ที่ว่างเปล่าหรือไม่ หากเป็นเช่นนั้น นั่นเป็นสาเหตุของข้อผิดพลาด

    เช่น นี่คือนโยบายการแยกตัวแปรที่มีองค์ประกอบ <XMLPayload>

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
        <DisplayName>Extract Variables-1</DisplayName>
        <Properties/>
        <Source clearPayload="false">request</Source>
        <VariablePrefix>apigee</VariablePrefix>
        <XMLPayload stopPayloadProcessing="false">
            <Namespaces/>
            <Variable name="address" type="string">
                <XPath></XPath>
            </Variable>
        </XMLPayload>
    </ExtractVariables>
    

    เนื่องจากมีองค์ประกอบ <XPath> ที่ว่างเปล่าภายในองค์ประกอบ <XMLPayload> ทำให้ใช้งานพร็อกซี API ไม่สำเร็จ

ความละเอียด

ตรวจสอบว่านโยบายการดึงข้อมูลตัวแปรมีองค์ประกอบ <XPath> ที่ไม่ว่างเปล่าและถูกต้องที่กำหนดไว้ในองค์ประกอบ <XMLPayload> เช่น

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
    <DisplayName>Extract Variables-1</DisplayName>
    <Properties/>
    <Source clearPayload="false">request</Source>
    <VariablePrefix>apigee</VariablePrefix>
    <XMLPayload stopPayloadProcessing="false">
        <Namespaces/>
        <Variable name="address" type="string">
            <XPath>/address</XPath>
        </Variable>
    </XMLPayload>
</ExtractVariables>

NoJSONPathsToEvaluate

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision [revision_number]
ExtractVariables [policy_name]:no jsonpaths to evaluate in variable name.

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Saving Revision 6
ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.

ภาพหน้าจอตัวอย่าง

สาเหตุ

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

การวินิจฉัย

  1. ระบุนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลวจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ Extract-Variables-1

    ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
    
  2. ใน XML ของนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลว ให้ตรวจสอบว่ามีองค์ประกอบ <JSONPayload> ที่ไม่มีองค์ประกอบย่อย <JSONPath> ที่จำเป็นหรือไม่ หากเป็นเช่นนั้น นั่นเป็นสาเหตุของข้อผิดพลาด

    เช่น นี่คือนโยบายการดึงข้อมูลตัวแปรที่มีองค์ประกอบ <JSONPayload>

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
        <DisplayName>Extract Variables-1</DisplayName>
        <Properties/>
        <JSONPayload>
            <Variable name="title">
            </Variable>
        </JSONPayload>
        <Source clearPayload="false">request</Source>
        <VariablePrefix>apigee</VariablePrefix>
    </ExtractVariables>
    

    เนื่องจากไม่มีองค์ประกอบย่อย <JSONPath> ที่กำหนดไว้ภายใต้องค์ประกอบ <JSONPayload> ทำให้ใช้งานพร็อกซี API ไม่สำเร็จ

ความละเอียด

ตรวจสอบว่านโยบายการดึงข้อมูลตัวแปรมีองค์ประกอบ <JSONPath> ที่กำหนดไว้ในองค์ประกอบ <JSONPayload> เช่น

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
    <DisplayName>Extract Variables-1</DisplayName>
    <Properties/>
    <JSONPayload>
        <Variable name="title">
            <JSONPath>$.book.title</JSONPath>
        </Variable>
    </JSONPayload>
    <Source clearPayload="false">request</Source>
    <VariablePrefix>apigee</VariablePrefix>
</ExtractVariables>

EmptyJSONPathExpression

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision [revision_number]
ExtractVariables [policy_name]: JSONPath expression is empty in variable name.

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Saving Revision 6
ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.

ภาพหน้าจอตัวอย่าง

สาเหตุ

หากนโยบายการดึงข้อมูลตัวแปรมีนิพจน์ <JSONPath> ว่างภายในองค์ประกอบ <JSONPayload> การใช้งานพร็อกซี API จะล้มเหลว

การวินิจฉัย

  1. ระบุนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลวจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ Extract-Variables-1

    ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
    
  2. ใน XML ของนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลว ให้ตรวจสอบว่ามีองค์ประกอบ <JSONPayload> ที่มีองค์ประกอบย่อย <JSONPath> ที่ว่างเปล่าหรือไม่ หากเป็นเช่นนั้น นั่นเป็นสาเหตุของข้อผิดพลาด

    ตัวอย่างเช่น นี่คือนโยบายการดึงข้อมูลตัวแปรที่มีองค์ประกอบ <JSONPayload>

        <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
            <DisplayName>Extract Variables-1</DisplayName>
            <Properties/>
            <JSONPayload>
                <Variable name="account_number" type="integer">
                    <JSONPath></JSONPath>
                </Variable>
            </JSONPayload>
            <Source clearPayload="false">request</Source>
            <VariablePrefix>apigee</VariablePrefix>
        </ExtractVariables>
    

    เนื่องจากมีองค์ประกอบ <JSONPath> ที่ว่างเปล่าภายในองค์ประกอบ <JSONPayload> ทำให้ใช้งานพร็อกซี API ไม่สำเร็จ

ความละเอียด

ตรวจสอบว่านโยบายการดึงข้อมูลตัวแปรมีองค์ประกอบ <JSONPath> ที่ไม่ว่างเปล่าและถูกต้องที่กำหนดไว้ในองค์ประกอบ <JSONPayload> เช่น

<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
    <DisplayName>Extract Variables-1</DisplayName>
    <Properties/>
    <JSONPayload>
        <Variable name="account_number" type="integer">
           <JSONPath>$.account.number</JSONPath>
        </Variable>
    </JSONPayload>
    <Source clearPayload="false">request</Source>
    <VariablePrefix>apigee</VariablePrefix>
</ExtractVariables>

MissingName

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision [revision_number]
Error occurred while validation of bean [policy_name].xml Reason: - Required attribute name is missing in [element_name]

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Saving Revision 6
Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable

ภาพหน้าจอตัวอย่าง

สาเหตุ

หากนโยบายตัวแปรการดึงข้อมูลไม่มีแอตทริบิวต์ name ในองค์ประกอบของนโยบาย เช่น QueryParam, Header, FormParam หรือ Variable เมื่อต้องระบุ จะทำให้ใช้งานพร็อกซี API ไม่สำเร็จ

เช่น ข้อผิดพลาดนี้เกิดขึ้นหากไม่มีแอตทริบิวต์ name ในองค์ประกอบ Variable

การวินิจฉัย

  1. ระบุชื่อนโยบายการดึงข้อมูลตัวแปรที่เกิดข้อผิดพลาดและองค์ประกอบที่ไม่มีแอตทริบิวต์ name คุณจะพบรายการเหล่านี้ในข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ Extract-Variables-1 และชื่อองค์ประกอบคือ Variable

    Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
    
  2. ใน XML ของนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลว ให้ตรวจสอบว่าองค์ประกอบทั้งหมดที่มีชื่อซึ่งกำหนดจากขั้นตอนที่ 1 ด้านบนมีแอตทริบิวต์ name หากมีองค์ประกอบที่แอตทริบิวต์ชื่อหายไป นั่นเป็นสาเหตุของข้อผิดพลาด

    ตัวอย่างเช่น นโยบายการดึงข้อมูลตัวแปรต่อไปนี้มีการกำหนดองค์ประกอบ <Variable>

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
        <DisplayName>Extract Variables-1</DisplayName>
        <Properties/>
        <Variable type="boolean">
            <Pattern>{isAccountActive}</Pattern>
        </Variable>
    </ExtractVariables>
    

    โปรดทราบว่าแอตทริบิวต์ name ในองค์ประกอบ Variable หายไป ทำให้ใช้งานพร็อกซี API ไม่สำเร็จ

ความละเอียด

ตรวจสอบว่านโยบายการแยกตัวแปรมีแอตทริบิวต์ name ที่จำเป็นสำหรับองค์ประกอบ QueryParam, Header, FormParam หรือ Variable เช่น

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
    <DisplayName>Extract Variables-1</DisplayName>
    <Properties/>
    <Variable name="account_active" type="boolean">
        <Pattern>{isAccountActive}</Pattern>
    </Variable>
</ExtractVariables>

PatternWithoutVariable

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Saving Revision [revision_number]
Pattern [pattern] should have at least one variable in ExtractVariables stepDefinition [policy_name]

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Saving Revision 7
Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.

ภาพหน้าจอตัวอย่าง

สาเหตุ

หากนโยบายการดึงข้อมูลตัวแปรไม่มีตัวแปรที่ระบุภายในองค์ประกอบ <Pattern> การใช้งานพร็อกซี API จะล้มเหลว องค์ประกอบ <Pattern> ต้องมีชื่อของตัวแปรที่จะจัดเก็บข้อมูลที่แยกออกมา

การวินิจฉัย

  1. ระบุชื่อนโยบายดึงข้อมูลตัวแปรที่เกิดข้อผิดพลาดและรูปแบบที่ไม่มีตัวแปร คุณดูรายการเหล่านี้ได้จากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ Extract-Variables-1 และชื่อองค์ประกอบคือ /a/b

    Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
    
  2. ใน XML ของนโยบายการดึงข้อมูลตัวแปรที่ไม่สำเร็จ ให้ตรวจสอบว่ารูปแบบที่ตั้งไว้ในองค์ประกอบ <Pattern> ตรงกับรูปแบบที่ระบุไว้ในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 1 ด้านบน) ตัวอย่างเช่น นโยบายต่อไปนี้ระบุรูปแบบ /a/b ซึ่งตรงกับสิ่งที่อยู่ในข้อความแสดงข้อผิดพลาด

    ตัวอย่างเช่น นี่คือนโยบายดึงข้อมูลตัวแปรที่มีองค์ประกอบ <Pattern> 3 รายการ

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables name="ExtractVariables-1">
       <Source>request</Source>
       <URIPath>
          <Pattern ignoreCase="true">/a/{pathSeg}</Pattern>
          <Pattern ignoreCase="true">/a/b/</Pattern>
          <Pattern ignoreCase="true">/a/b/c/{pathSeg}</Pattern>
       </URIPath>
       <VariablePrefix>urirequest</VariablePrefix>
    </ExtractVariables>
    
  3. ตรวจสอบว่าองค์ประกอบ <Pattern> ที่ระบุในขั้นตอนที่ #2 ไม่มีตัวแปรหรือไม่ ตัวแปรต้องอยู่ในวงเล็บปีกกา หากรูปแบบไม่มีตัวแปร นั่นก็เป็นสาเหตุของข้อผิดพลาด

    องค์ประกอบ <Pattern> ที่มีรูปแบบ /a/b ไม่มีตัวแปร ดังนั้นจะทำให้ใช้งานพร็อกซี API ไม่สำเร็จ

    <Pattern ignoreCase="true">/a/b/</Pattern>
    
    

ความละเอียด

ตรวจสอบว่าองค์ประกอบ <Pattern> มีตัวแปร (ชื่ออยู่ในวงเล็บปีกกา) เช่น

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables name="ExtractVariables-1">
   <Source>request</Source>
   <URIPath>
      <Pattern ignoreCase="true">/a/{pathSeg}</Pattern>
      <Pattern ignoreCase="true">/a/b/{pathSeg}</Pattern>
      <Pattern ignoreCase="true">/a/b/c/{pathSeg}</Pattern>
   </URIPath>
   <VariablePrefix>urirequest</VariablePrefix>
</ExtractVariables>

CannotBeConvertedToNodeset

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Deploying Revision [revision_number]
ExtractVariables [policy_name]: Result of xpath [policy_name] cannot be converted to nodeset. Context Revision:[revision_number]; APIProxy:[proxy_name]; Organization:[org_name]; Environment:[env_name].

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Deploying Revision 4 to test
ExtractVariables Extract-Variables-1: Result of xpath 123 cannot be converted to nodeset. Context Revision:4;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.

ภาพหน้าจอตัวอย่าง

สาเหตุ

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

การวินิจฉัย

  1. ระบุนโยบายการดึงข้อมูลตัวแปรที่เกิดข้อผิดพลาดและ XPath ที่แปลงเป็นชุดโหนดไม่ได้ คุณจะพบทั้ง 2 รายการนี้ในข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ Extract-Variables-1 และ XPath คือ 123

    ExtractVariables Extract-Variables-1: Result of xpath 123 cannot be converted to nodeset. Context Revision:4;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.
    
  2. ใน XML ของนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลว ให้ตรวจสอบว่าชุด XPath ในองค์ประกอบ <XPath> ตรงกับ XPath ที่ระบุในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 1 ด้านบน) ตัวอย่างเช่น นโยบายต่อไปนี้ระบุ เป็น 123 ซึ่งตรงกับข้อความแสดงข้อผิดพลาด:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
        <DisplayName>Extract Variables-1</DisplayName>
        <Properties/>
        <Source clearPayload="false">request</Source>
        <VariablePrefix>visitor</VariablePrefix>
        <XMLPayload stopPayloadProcessing="false">
            <Namespaces/>
            <Variable name="age" type="nodeset">
                <XPath>123</XPath>
            </Variable>
        </XMLPayload>
    </ExtractVariables>
    
  3. ตรวจสอบประเภทองค์ประกอบ <Variable> ที่สอดคล้องกับ <XPath> ที่ระบุในขั้นตอนที่ 2 ด้านบน หากประเภท <Variable> คือ nodeset นั่นเป็นสาเหตุของข้อผิดพลาด

    โปรดสังเกตว่านิพจน์ <XPath> คือ 123 ในตัวอย่างนโยบายการดึงข้อมูลตัวแปร

    <XPath>123</XPath>
    

    แปลงนิพจน์ 123 เป็นชุดโหนดไม่ได้ ดังนั้น การทำให้พร็อกซี API ใช้งานได้จึงล้มเหลว

ความละเอียด

ตรวจสอบว่านิพจน์ <XPath> ที่ใช้ในนโยบายดึงข้อมูลตัวแปรแปลงเป็นชุดโหนดได้หากมีการกำหนดประเภท <Variable> เป็นชุดโหนด เช่น

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
    <DisplayName>Extract Variables-1</DisplayName>
    <Properties/>
    <Source clearPayload="false">request</Source>
    <VariablePrefix>visitor</VariablePrefix>
    <XMLPayload stopPayloadProcessing="false">
        <Namespaces/>
        <Variable name="age" type="nodeset">
            <XPath>/visitor/age</XPath>
        </Variable>
    </XMLPayload>
</ExtractVariables>

InvalidPattern

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

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Deploying Revision [revision_number]
Pattern [pattern] is invalid in ExtractVariables stepDefinition [policy_name]

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Deploying Revision 18 to test
Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.

ภาพหน้าจอตัวอย่าง

สาเหตุ

หากคำจำกัดความองค์ประกอบ <Pattern> ไม่ถูกต้องในองค์ประกอบใดๆ เช่น URIPath, QueryParam, Header, FormParam, XMLPayload หรือ JSONPayload ภายในนโยบายการดึงข้อมูลตัวแปร จะทำให้ใช้งานพร็อกซี API ไม่สำเร็จ

การวินิจฉัย

  1. ระบุนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลวจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ Extract-Variables-2

    Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
    
  2. ใน XML ของนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลว ให้ตรวจสอบว่ามีองค์ประกอบเหล่านี้หรือไม่ และรวมองค์ประกอบ <Pattern> ไว้หรือไม่ URIPath, QueryParam, Header, FormParam, XMLPayload หรือ JSONPayload

    เช่น ตัวอย่างนโยบายดึงข้อมูลตัวแปรที่มีองค์ประกอบ <Pattern> ภายในองค์ประกอบ <QueryParam>

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables name="ExtractVariables-2">
        <DisplayName>ExtractVariables-2</DisplayName>
        <Source>request</Source>
        <QueryParam name="code">
            <Pattern ignoreCase="true">{*}</Pattern>
        </QueryParam>
        <VariablePrefix>queryinfo</VariablePrefix>
    </ExtractVariables>
    
  3. ตรวจสอบคำจำกัดความของแต่ละองค์ประกอบ <Pattern> หากมีองค์ประกอบ <Pattern> ที่มีคำจำกัดความไม่ถูกต้อง ข้อผิดพลาดนั้นเกิดจากสาเหตุนี้

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

    <Pattern ignoreCase="true">{*}</Pattern>
    
    

ความละเอียด

ตรวจสอบว่าคำจำกัดความองค์ประกอบ <Pattern> ภายในองค์ประกอบ URIPath, QueryParam, Header, FormParam, XMLPayload หรือ JSONPayload ในนโยบายการแยกตัวแปรถูกต้อง เช่น

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables name="ExtractVariables-2">
    <DisplayName>Extract a value from a query parameter</DisplayName>
    <Source>request</Source>
    <QueryParam name="code">
        <Pattern ignoreCase="true">{code}</Pattern>
    </QueryParam>
    <VariablePrefix>queryinfo</VariablePrefix>
</ExtractVariables>

โปรดดูเกี่ยวกับการจับคู่และการสร้างตัวแปรเพิ่มเติม

XPathCompilationFailed

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

การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Deploying Revision [revision_number]
ExtractVariables [policy_name]: Failed to compile xpath [xpath] Context Revision:[revision_number]; APIProxy:[proxy_name]; Organization:[org_name]; Environment:[env_name].

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Deploying Revision 1 to test
ExtractVariables EV-XML-Age: Failed to compile xpath /apigee:Directions/apigee:route/apigee:leg/apigee:name. Context Revision:1;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.

ภาพหน้าจอตัวอย่าง

สาเหตุ

หากคำนำหน้าหรือค่าที่ใช้ในองค์ประกอบ <XPath> ไม่ได้เป็นส่วนหนึ่งของเนมสเปซที่ประกาศในนโยบายการดึงข้อมูลตัวแปร จะทำให้ใช้งานพร็อกซี API ไม่สำเร็จ

คุณสามารถดูข้อมูลเพิ่มเติมเกี่ยวกับเนมสเปซ, XPath และคำนำหน้าใน เนมสเปซ XML และผลกระทบที่มีต่อ XPath และ XSLT

การวินิจฉัย

  1. ระบุนโยบายการดึงข้อมูลตัวแปรที่เกิดข้อผิดพลาดและ XPath ที่คอมไพล์ไม่ได้ คุณจะพบทั้ง 2 รายการนี้ในข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ EV-XML-Age และ xpath คือ /apigee:Directions/apigee:route/apigee:leg/apigee:name

    ExtractVariables EV-XML-Age: Failed to compile xpath /apigee:Directions/apigee:route/apigee:leg/apigee:name. Context Revision:1;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.
    
  2. ใน XML ของนโยบายการดึงข้อมูลตัวแปรที่ล้มเหลว ให้ตรวจสอบว่าชุด XPath ในองค์ประกอบ <XPath> ตรงกับ XPath ที่ระบุในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 1 ด้านบน) ตัวอย่างเช่น นโยบายต่อไปนี้ระบุ เป็น /apigee:Directions/apigee:route/apigee:leg/apigee:name ซึ่งตรงกับข้อความแสดงข้อผิดพลาด:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
      <DisplayName>EV-XML-Age</DisplayName>
      <Source clearPayload="false">request</Source>
      <XMLPayload stopPayloadProcessing="false">
        <Namespaces>
            <Namespace prefix="gmail">http://mail.google.com</Namespace>
        </Namespaces>
        <Variable name="legName" type="string">
        <XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>
            </Variable>
      </XMLPayload>
    </ExtractVariables>
    
  3. ตรวจสอบองค์ประกอบ <Namespaces> และ <XPath> ในนโยบายการแยกตัวแปร หาก <XPath> ที่เจาะจงซึ่งระบุไว้ในข้อความแสดงข้อผิดพลาดใช้คำนำหน้าหรือค่าที่ไม่ได้เป็นส่วนหนึ่งของเนมสเปซที่ประกาศไว้ในนโยบายการดึงข้อมูลตัวแปร นั่นเป็นสาเหตุของข้อผิดพลาด

    โปรดสังเกตว่า <XPath> ที่เจาะจงใช้คำนำหน้า apigee ในตัวอย่างนโยบายการแยกตัวแปร

    <XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>
    

    อย่างไรก็ตาม ไม่ได้กำหนดคำนำหน้า apigee ในองค์ประกอบ <Namespace> ใดๆ ดังนั้นการรวม <XPath> จะล้มเหลวทำให้การทำให้ใช้งานได้ล้มเหลว

ความละเอียด

ตรวจสอบว่ามีการประกาศเนมสเปซทั้งหมดที่ใช้ในองค์ประกอบ <XPath> ในนโยบายการดึงข้อมูลตัวแปร เช่น

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
  <DisplayName>EV-XML-Age</DisplayName>
  <Source clearPayload="false">request</Source>
  <XMLPayload stopPayloadProcessing="false">
    <Namespaces>
        <Namespace prefix="apigee">http://www.apigee.com</Namespace>
        <Namespace prefix="gmail">http://mail.google.com</Namespace>
    </Namespaces>
    <Variable name="legName" type="string">
        <XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>
    </Variable>
  </XMLPayload>
</ExtractVariables>