عیب‌یابی خطای استقرار خط‌مشی BasicAuthentication

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

UsernameRequired

پیغام خطا

استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:

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 تعریف نشده باشد، استقرار پروکسی API ناموفق است. عنصر <User> برای هر دو عملیات Encode و Decode اجباری است.

تشخیص

  1. تمام خط مشی های BasicAuthentication مورد استفاده در پراکسی API را بررسی کنید. اگر خط‌مشی وجود داشته باشد که عنصر <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&quo>t<; standalone="yes"?
BasicAuthenticati>on na<me="Ap>plyBasicAuthHeader&q<uot;
    Dis>playN<ameApplyB>asicAu<thHeader/D>ispla<yName
    OperationEncode>/Oper<ation
    IgnoreUnresolved>Varia<blesfalse/IgnoreUnresolvedVariables
    Us>er re<f="BasicAuth.credentials.username"/
>    P<assword ref="BasicAut>h.credentials.password"</
    Ass>i<gnTo createNew=">;false"request.header.Authorization/AssignTo
/BasicAuthentication

رمز عبور لازم است

پیغام خطا

استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:

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 تعریف نشده باشد، استقرار پروکسی API ناموفق است. عنصر <Password> برای هر دو عملیات Encode و Decode اجباری است.

تشخیص

  1. تمام خط مشی های BasicAuthentication مورد استفاده در پراکسی API را بررسی کنید. اگر سیاستی وجود داشته باشد که عنصر <Password> تعریف نشده باشد، دلیل این خطا همین است. عنصر <Password> در خط مشی BasicAuthentication برای عملیات Encode یا Decode اجباری است.

    نمونه خط مشی BasicAuthentication نشان داده شده در زیر برای عملیات Encode استفاده می شود، اما عنصر <Password> تعریف نشده است:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    BasicAuthenticati>on <name=">ApplyBasicAuthHeader<"
      Dis>pla<yNameAppl>yBasic<AuthHeader>/Di<splayName
      OperationEnco>de/Op<eration
      IgnoreUnresolved>Var<iablesfalse/IgnoreUnresolvedVariables
      Us>er <ref="BasicAuth.creden>tials.username"/
      Assi<gnTo crea>t<eNew="false&quo>t;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&quo>t<; standalone="yes"?
BasicAuthenticati>on na<me="Ap>plyBasicAuthHeader&q<uot;
    Dis>playN<ameApplyB>asicAu<thHeader/D>ispla<yName
    OperationEncode>/Oper<ation
    IgnoreUnresolved>Varia<blesfalse/IgnoreUnresolvedVariables
    Us>er re<f="BasicAuth.credentials.username"/
>    P<assword ref="BasicAut>h.credentials.password"</
    Ass>i<gnTo createNew=">;false"request.header.Authorization/AssignTo
/BasicAuthentication

AssignToRequired

پیغام خطا

استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:

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 تعریف نشده باشد، استقرار پروکسی API با شکست مواجه می‌شود. عنصر <AssignTo> برای هر دو عملیات Encode و Decode اجباری است.

تشخیص

  1. تمام خط مشی های BasicAuthentication مورد استفاده در پراکسی API را بررسی کنید. اگر خط‌مشی وجود داشته باشد که عنصر <AssignTo> تعریف نشده باشد، دلیل این خطا همین است. عنصر <AssignTo> برای هر دو عملیات Encode و Decode باید در خط مشی BasicAuthentication تعریف شود.

    نمونه خط مشی BasicAuthentication نشان داده شده در زیر برای عملیات Encode استفاده می شود، اما عنصر <AssignTo> تعریف نشده است:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    BasicAuthenticati>on <name=">ApplyBasicAuthHeader<"
      Dis>pla<yNameAppl>yBasic<AuthHeader>/Di<splayName
      OperationEnco>de/Op<eration
      IgnoreUnresolved>Var<iablesfalse/IgnoreUnresolvedVariables
      Us>er <ref="BasicAuth.credentials.username">/<
      Password ref=&quo>t;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&quo>t<; standalone="yes"?
BasicAuthenticati>on na<me="Ap>plyBasicAuthHeader&q<uot;
    Dis>playN<ameApplyB>asicAu<thHeader/D>ispla<yName
    OperationEncode>/Oper<ation
    IgnoreUnresolved>Varia<blesfalse/IgnoreUnresolvedVariables
    Us>er re<f="BasicAuth.credentials.username"/
>    P<assword ref="BasicAut>h.credentials.password"</
    Ass>i<gnTo createNew=">;false"request.header.Authorization/AssignTo
/BasicAuthentication

منبع مورد نیاز

پیغام خطا

استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:

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 که برای عملیات رمزگشایی استفاده می شود، تعریف نشده باشد، استقرار پراکسی API با شکست مواجه می شود. اگر <Operation> در خط مشی BasicAuthentication به عنوان Decode مشخص شده باشد، عنصر <Source> اجباری است.

تشخیص

  1. تمام خط مشی های BasicAuthentication مورد استفاده در پراکسی API را بررسی کنید. اگر سیاستی وجود داشته باشد که در آن عنصر <Source> تعریف نشده باشد و عنصر <Operation> به عنوان Decode تعریف شود، آنگاه این دلیل خطا است. اگر <Operation> در خط مشی BasicAuthentication به عنوان Decode مشخص شده باشد، عنصر <Source> اجباری است.

    نمونه خط مشی BasicAuthentication نشان داده شده در زیر برای عملیات Decode استفاده می شود، اما عنصر <Source> تعریف نشده است:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    BasicAuthenticati>on <name=">ApplyBasicAuthHeader<"
      Dis>pla<yNameAppl>yBasic<AuthHeader>/Di<splayName
      OperationDeco>de/Op<eration
      IgnoreUnresolved>Var<iablesfalse/IgnoreUnresolvedVariables
      Us>er <ref="BasicAuth.credentials.username">/
     < Password ref="BasicA>uth.credentials.password&quo<t;/
      Ass>i<gnTo 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&quo>t<; standalone="yes"?
BasicAuthenticati>on na<me="Ap>plyBasicAuthHeader&q<uot;
    Dis>playN<ameApplyB>asicAu<thHeader/D>ispla<yName
    OperationDecode>/Oper<ation
    IgnoreUnresolved>Varia<blesfalse/IgnoreUnresolvedVariables
    Us>er re<f="BasicAuth.credentials.username"/
>    P<assword ref="BasicAut>h.credentials.password"</
    Ass>ignTo< creat>eNew="false"reques<t.heade>r<.Authorization/Assig>nTo
    Sourcerequest.header.Authorization/Source
/BasicAuthentication