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

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

UserNameRequired

رسالة الخطأ

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

Error Deploying Revision revision_number to env_name
BasicAuthenticationPolicy: Username element must be present for operation operation.

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

Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Username element must be present for Encode operation.

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

السبب

يتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات إذا لم يتم تحديد العنصر <User> في سياسة BasicAuthentication. عنصر <User> إلزامي لكل من عمليتَي Encode وDecode.

التشخيص

  1. فحص جميع سياسات BasicAuthentication المستخدَمة في خادم وكيل واجهة برمجة التطبيقات إذا كانت هناك أي سياسة لم يتم فيها تحديد العنصر <User>، سيكون ذلك هو سبب الخطأ. عنصر <User> إلزامي في سياسة BasicAuthentication لعمليات Encode أو Decode.

    يتم استخدام نموذج سياسة BasicAuthentication الموضّح أدناه في عملية Encode، ولكنّه لا يتضمّن العنصر <User>:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <BasicAuthentication name="ApplyBasicAuthHeader">
      <DisplayName>ApplyBasicAuthHeader</DisplayName>
      <Operation>Encode</Operation>
      <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <Password ref="BasicAuth.credentials.password"/>
      <AssignTo createNew="false">request.header.Authorization</AssignTo>
    </BasicAuthentication>
    

    يتعذّر النشر بسبب الخطأ التالي:

    BasicAuthenticationPolicy: Username element must be present for Encode operation.
    

الدقة

تأكَّد من تحديد العنصر <User> ضمن سياسة BasicAuthentication لعملية Encode أو Decode.

لتصحيح المثال الموضّح أعلاه، أدرِج العنصر <User> ضمن السياسة كما هو موضّح أدناه:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
    <DisplayName>ApplyBasicAuthHeader</DisplayName>
    <Operation>Encode</Operation>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <User ref="BasicAuth.credentials.username"/>
    <Password ref="BasicAuth.credentials.password"/>
    <AssignTo createNew="false">request.header.Authorization</AssignTo>
</BasicAuthentication>

PasswordRequired

رسالة الخطأ

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

Error Deploying Revision revision_number to env_name
BasicAuthenticationPolicy: Password element must be present for operation operation.

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

Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Password element must be present for Encode operation.

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

السبب

يتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات إذا لم يتم تحديد العنصر <Password> في سياسة BasicAuthentication. عنصر <Password> إلزامي لكل من عمليتَي Encode وDecode.

التشخيص

  1. فحص جميع سياسات BasicAuthentication المستخدَمة في خادم وكيل واجهة برمجة التطبيقات إذا كانت هناك أي سياسة لم يتم فيها تحديد العنصر <Password>، سيكون ذلك هو سبب الخطأ. عنصر <Password> إلزامي في سياسة BasicAuthentication لعملية Encode أو Decode.

    يتم استخدام نموذج سياسة BasicAuthentication الموضّح أدناه في عملية Encode، ولكنّه لا يتضمّن العنصر <Password>:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <BasicAuthentication name="ApplyBasicAuthHeader">
      <DisplayName>ApplyBasicAuthHeader</DisplayName>
      <Operation>Encode</Operation>
      <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <User ref="BasicAuth.credentials.username"/>
      <AssignTo createNew="false">request.header.Authorization</AssignTo>
    </BasicAuthentication>
    

    يتعذّر النشر بسبب الخطأ التالي:

    BasicAuthenticationPolicy: Password element must be present for Encode operation.
    

الدقة

تأكَّد من تحديد العنصر <Password> ضمن سياسة BasicAuthentication لعملية Encode أو Decode.

لتصحيح المثال الموضّح أعلاه، أدرِج العنصر <Password> ضمن السياسة كما هو موضّح أدناه:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
    <DisplayName>ApplyBasicAuthHeader</DisplayName>
    <Operation>Encode</Operation>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <User ref="BasicAuth.credentials.username"/>
    <Password ref="BasicAuth.credentials.password"/>
    <AssignTo createNew="false">request.header.Authorization</AssignTo>
</BasicAuthentication>

AssignToRequired

رسالة الخطأ

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

Error Deploying Revision revision_number to env_name
BasicAuthenticationPolicy: AssignTo element must be present for operation operation.

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

Error Deploying Revision 2 to test
BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.

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

السبب

يتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات إذا لم يتم تحديد العنصر <AssignTo> في سياسة BasicAuthentication. عنصر <AssignTo> إلزامي لكل من عمليتَي Encode وDecode.

التشخيص

  1. فحص جميع سياسات BasicAuthentication المستخدَمة في خادم وكيل واجهة برمجة التطبيقات إذا كانت هناك أي سياسة لم يتم فيها تحديد العنصر <AssignTo>، سيكون ذلك هو سبب الخطأ. يجب تحديد العنصر <AssignTo> في سياسة BasicAuthentication لكلّ من عمليتَي Encode وDecode.

    يتم استخدام نموذج سياسة BasicAuthentication الموضّح أدناه في عملية Encode، ولكنّه لا يتضمّن العنصر <AssignTo>:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <BasicAuthentication name="ApplyBasicAuthHeader">
      <DisplayName>ApplyBasicAuthHeader</DisplayName>
      <Operation>Encode</Operation>
      <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <User ref="BasicAuth.credentials.username"/>
      <Password ref="BasicAuth.credentials.password"/>
    </BasicAuthentication>
    

    يتعذّر النشر بسبب الخطأ التالي:

    BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
    

الدقة

تأكَّد من تحديد العنصر <AssignTo> ضمن سياسة BasicAuthentication لعملية Encode أو Decode.

لتصحيح المثال الموضّح أعلاه، أدرِج العنصر <AssignTo> ضمن السياسة كما هو موضّح أدناه:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
    <DisplayName>ApplyBasicAuthHeader</DisplayName>
    <Operation>Encode</Operation>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <User ref="BasicAuth.credentials.username"/>
    <Password ref="BasicAuth.credentials.password"/>
    <AssignTo createNew="false">request.header.Authorization</AssignTo>
</BasicAuthentication>

SourceRequired

رسالة الخطأ

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

Error Deploying Revision revision_number to env_name
BasicAuthenticationPolicy: Source element must be present for Decode operation.

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

Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Source element must be present for Decode operation.

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

السبب

يتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات إذا لم يتم تحديد العنصر <Source> في سياسة BasicAuthentication المستخدَمة لعملية فك الترميز. عنصر <Source> إلزامي إذا تم تحديد <Operation> على أنّه Decode في سياسة BasicAuthentication.

التشخيص

  1. فحص جميع سياسات BasicAuthentication المستخدَمة في خادم وكيل واجهة برمجة التطبيقات إذا كانت هناك أي سياسة لم يتم فيها تحديد العنصر <Source> وتم تحديد العنصر <Operation> على أنّه Decode، سيكون ذلك هو سبب الخطأ. عنصر <Source> إلزامي إذا تم تحديد <Operation> على أنّه Decode في سياسة BasicAuthentication.

    يتم استخدام نموذج سياسة BasicAuthentication الموضّح أدناه في عملية Decode، ولكن لم يتم تحديد العنصر <Source>:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <BasicAuthentication name="ApplyBasicAuthHeader">
      <DisplayName>ApplyBasicAuthHeader</DisplayName>
      <Operation>Decode</Operation>
      <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <User ref="BasicAuth.credentials.username"/>
      <Password ref="BasicAuth.credentials.password"/>
      <AssignTo createNew="false">request.header.Authorization</AssignTo>
    </BasicAuthentication>
    

    يتعذّر النشر بسبب الخطأ التالي:

    BasicAuthenticationPolicy: Source element must be present for Decode operation.
    

الدقة

تأكَّد من تحديد العنصر <Source> في سياسة BasicAuthentication عند استخدامه في العملية Decode.

لتصحيح المثال الموضّح أعلاه، أدرِج العنصر <Source> ضمن السياسة كما هو موضّح أدناه:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
    <DisplayName>ApplyBasicAuthHeader</DisplayName>
    <Operation>Decode</Operation>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <User ref="BasicAuth.credentials.username"/>
    <Password ref="BasicAuth.credentials.password"/>
    <AssignTo createNew="false">request.header.Authorization</AssignTo>
    <Source>request.header.Authorization</Source>
</BasicAuthentication>