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

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

NothingToExtract

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

การติดตั้งใช้งานพร็อกซี API ผ่าน UI ของ Edge หรือ 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 จะล้มเหลวเนื่องจากไม่มีสิ่งใดที่จะแยก

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

การวินิจฉัย

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

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

เนื่องจากไม่มีองค์ประกอบที่จำเป็นในนโยบาย Extract Variables การติดตั้งใช้งานพร็อกซี 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 ผ่าน UI ของ Edge หรือ 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.

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

สาเหตุ

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

การวินิจฉัย

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

    ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
    
  2. ใน XML ของนโยบาย Extract Variables ที่ล้มเหลว ให้ตรวจสอบว่าชื่อของคำนำหน้าที่ตั้งค่าไว้ในองค์ประกอบ <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 แสดงว่านั่นคือสาเหตุของข้อผิดพลาด

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

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

ความละเอียด

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

<?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 ผ่าน UI ของ Edge หรือ 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.

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

สาเหตุ

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

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

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

การวินิจฉัย

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

    ExtractVariables EV-XML-Age: Duplicate prefix apigee.
    
  2. ใน XML ของนโยบาย Extract Variables ที่ล้มเหลว ให้ตรวจสอบว่าชื่อของคำนำหน้าที่ตั้งค่าไว้ในองค์ประกอบ <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 ครั้ง นั่นคือสาเหตุของข้อผิดพลาด

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

    ExtractVariables EV-XML-Age: Duplicate prefix 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">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 ผ่าน UI ของ Edge หรือ 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 ที่ล้มเหลวจากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ Extract-Variables-1

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

    ตัวอย่างเช่น ต่อไปนี้คือนโยบาย Extract Variables ที่มีองค์ประกอบ <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 จึงล้มเหลว

ความละเอียด

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

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

    ตัวอย่างเช่น นี่คือนโยบาย Extract Variables ที่มีองค์ประกอบ <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 Proxy จึงล้มเหลว

ความละเอียด

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

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

    ตัวอย่างเช่น นี่คือนโยบาย Extract Variables ที่มีองค์ประกอบ <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 จึงล้มเหลว

ความละเอียด

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

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

    ตัวอย่างเช่น นี่คือนโยบาย Extract Variables ที่มีองค์ประกอบ <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 Proxy จึงล้มเหลว

ความละเอียด

ตรวจสอบว่านโยบาย Extract Variables มีองค์ประกอบ <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 ผ่าน UI ของ Edge หรือ 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

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

สาเหตุ

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

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

การวินิจฉัย

  1. ระบุชื่อของนโยบาย Extract Variables ที่เกิดข้อผิดพลาดและองค์ประกอบที่ไม่มีแอตทริบิวต์ 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 ของนโยบาย Extract Variables ที่ล้มเหลว ให้ตรวจสอบว่าองค์ประกอบทั้งหมดที่มีชื่อที่กำหนดจากขั้นตอนที่ 1 ด้านบนมีแอตทริบิวต์ name หากมีองค์ประกอบใดที่ไม่มีแอตทริบิวต์ชื่อ นั่นคือสาเหตุของข้อผิดพลาด

    เช่น นโยบาย Extract Variables ต่อไปนี้มีการกำหนดองค์ประกอบ <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 จึงล้มเหลว

ความละเอียด

ตรวจสอบว่านโยบาย Extract Variables มีแอตทริบิวต์ 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 ผ่าน UI ของ Edge หรือ 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.

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

สาเหตุ

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

การวินิจฉัย

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

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

    ตัวอย่างเช่น นี่คือนโยบาย Extract Variables ที่มีองค์ประกอบ <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 ผ่าน UI ของ Edge หรือ 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.

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

สาเหตุ

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

การวินิจฉัย

  1. ระบุนโยบาย Extract Variables ที่เกิดข้อผิดพลาดและ 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 ของนโยบาย Extract Variables ที่ล้มเหลว ให้ตรวจสอบว่า 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> ที่ใช้ในนโยบาย Extract Variables เป็นชุดโหนดได้ หากกำหนดประเภท <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 ผ่าน UI ของ Edge หรือ 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 ภายในนโยบาย Extract Variables การติดตั้งใช้งานพร็อกซี API จะล้มเหลว

การวินิจฉัย

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

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

    ตัวอย่างเช่น ต่อไปนี้คือตัวอย่างนโยบาย Extract Variables ที่มีองค์ประกอบ <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> ที่มีคำจำกัดความไม่ถูกต้อง แสดงว่าองค์ประกอบนั้นเป็นสาเหตุของข้อผิดพลาด

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

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

ความละเอียด

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

<?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 ผ่าน UI ของ Edge หรือ 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. ระบุนโยบาย Extract Variables ที่เกิดข้อผิดพลาดและ 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 ของนโยบาย Extract Variables ที่ล้มเหลว ให้ตรวจสอบว่า 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> ที่ระบุในข้อความแสดงข้อผิดพลาดใช้คำนำหน้าหรือค่าที่ไม่ได้เป็นส่วนหนึ่งของเนมสเปซที่ประกาศไว้ในนโยบาย Extract Variables นั่นคือสาเหตุของข้อผิดพลาด

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

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

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

ความละเอียด

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

<?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>