تحديد المشاكل وحلّها في ما يتعلّق بنشر سياسة المتغيّرات

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

NothingToExtract

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

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، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات لأنه لا يتوفّر أي عنصر لاستخراجه.

كما هو موضّح في رسالة الخطأ، يجب أن تحتوي سياسة "استخراج المتغيّرات" على عنصر واحد على الأقل من هذه العناصر المضمّنة في السياسة: 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>

نظرًا لعدم وجود أي من العناصر الإلزامية في سياسة استخراج المتغيرات، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

درجة الدقّة

يُرجى التأكُّد من احتواء سياسة "استخراج المتغيّرات" على واحد على الأقل من هذه العناصر الإلزامية: 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>

NONblankPrefixMappedToفارتم

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

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. حدِّد سياسة استخراج المتغيرات التي حدث فيها الخطأ واسم البادئة. يمكنك العثور على هذين العنصرَين في رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون اسم السياسة هو 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

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

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

مثال على رسالة الخطأ

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

مثال للقطة شاشة

السبب

يحدث هذا الخطأ في حال كانت "سياسة استخراج المتغيرات" لها البادئة نفسها التي تم تحديدها أكثر من مرة في العنصر <Namespace> ضمن العنصر <XMLPayload>.

على سبيل المثال، يحدث هذا الخطأ بسبب تحديد البادئة apigee مرتين كما هو موضّح أدناه:

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

التشخيص

  1. حدِّد سياسة استخراج المتغيرات التي حدث فيها الخطأ واسم البادئة. يمكنك العثور على هذين العنصرَين في رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون اسم السياسة هو 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 أكثر من مرة إذا تم تحديده أكثر من مرة، يكون هذا هو سبب الخطأ.

    في مثال سياسة استخراج المتغيرات المُوضَّحة أعلاه، لاحظ أنه تم تحديد العنصر <Namespace> الذي يحمل البادئة apigee مرتين، وبالتالي، تظهر لك رسالة الخطأ:

    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

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

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>، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات مع ظهور الخطأ الوارد أعلاه.

التشخيص

  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>، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

درجة الدقّة

تأكَّد من أنّ سياسة استخراج المتغيرات تتضمّن عنصر <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

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

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>، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

التشخيص

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

درجة الدقّة

تأكَّد من أنّ سياسة "استخراج المتغيّرات" تتضمّن عنصر <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

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

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>، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات مع ظهور الخطأ الوارد أعلاه.

التشخيص

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

درجة الدقّة

تأكَّد من أنّ سياسة "استخراج المتغيّرات" تتضمّن عنصر <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

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

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>، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

التشخيص

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

درجة الدقّة

تأكَّد من أنّ سياسة "استخراج المتغيّرات" تتضمّن عنصر <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

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

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، حيثما كانت مطلوبة، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

على سبيل المثال، يحدث هذا الخطأ إذا كانت السمة 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، وبالتالي يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

درجة الدقّة

تأكَّد من أنّ "سياسة استخراج المتغيّرات" تتضمّن السمة 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

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

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>، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات. يتطلب العنصر <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>:

    <?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 على متغير، وبالتالي، يتعذر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

    <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

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

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، ولكن لا يمكن تحويل التعبير إلى مجموعة العقدة، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

التشخيص

  1. حدد سياسة استخراج المتغيرات التي حدث فيها الخطأ ومسار XPath الذي لا يمكن تحويله إلى مجموعة العقدة. يمكنك العثور على هذين العنصرَين في رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون اسم السياسة هو 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 إلى مجموعة العقدة. ولذلك، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

درجة الدقّة

تأكّد من إمكانية تحويل تعبيرات <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

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

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 ضمن "سياسة استخراج المتغيّرات"، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

التشخيص

  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> غير صالح، وبالتالي، يتعذر نشر الخادم الوكيل لواجهة برمجة التطبيقات. راجِع أيضًا لمحة عن المطابقة وإنشاء المتغيّرات

    <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

رسالة الخطأ

تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge وظهور رسالة الخطأ التالية:

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> جزءًا من أي من مساحات الاسم التي تم الإعلان عنها في "سياسة استخراج المتغيرات"، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

يمكنك العثور على مزيد من المعلومات عن مساحات الاسم وXPath والبادئة في مساحات أسماء XML وكيفية تأثيرها في XPath وLooker.

التشخيص

  1. حدِّد سياسة استخراج المتغيرات التي حدث فيها الخطأ وحدث XPath الذي تعذّر تجميعه. يمكنك العثور على هذين العنصرَين في رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون اسم السياسة هو 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>