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

أنت تعرض مستندات 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>

NONEmptyPrefixMappedToEmptyURI

رسالة الخطأ

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

التشخيص

  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>