Résoudre les problèmes liés au déploiement d'une règle BasicAuthentication

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

UserNameRequired

Message d'erreur

Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:

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

Exemple de message d'erreur

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

Exemple de capture d'écran

Cause

Le déploiement du proxy d'API échoue si l'élément <User> n'est pas défini dans la règle BasicAuthentication. L'élément <User> est obligatoire pour les opérations d'encodage et de décodage.

Diagnostic

  1. Examinez toutes les règles BasicAuthentication utilisées dans le proxy d'API. Si l'élément <User> n'est pas spécifié dans l'une de ces règles, alors il s'agit de la cause de l'erreur. Dans la règle BasicAuthentication, l'élément <User> est obligatoire pour les opérations d'encodage ou de décodage.

    L'exemple de règle BasicAuthentication présenté ci-dessous est utilisé pour l'opération d'encodage, mais l'élément <User> n'est pas défini :

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

    Le déploiement échoue avec l'erreur ci-dessous :

    BasicAuthenticationPolicy: Username element must be present for Encode operation.
    

Solution

Assurez-vous que l'élément <User> est défini dans la règle BasicAuthentication pour les opérations d'encodage ou de décodage.

Pour corriger l'exemple ci-dessus, incluez l'élément <User> dans la règle, comme indiqué ci-dessous :

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

PasswordRequired

Message d'erreur

Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:

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

Exemple de message d'erreur

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

Exemple de capture d'écran

Cause

Le déploiement du proxy d'API échoue si l'élément <Password> n'est pas défini dans la règle BasicAuthentication. L'élément <Password> est obligatoire pour les opérations d'encodage et de décodage.

Diagnostic

  1. Examinez toutes les règles BasicAuthentication utilisées dans le proxy d'API. Si l'élément <Password> n'est pas défini dans l'une de ces règles, alors il s'agit de la cause de l'erreur. Dans la règle BasicAuthentication, l'élément <Password> est obligatoire pour l'opération d'encodage ou de décodage.

    L'exemple de règle BasicAuthentication présenté ci-dessous est utilisé pour l'opération d'encodage, mais l'élément <Password> n'est pas défini :

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

    Le déploiement échoue avec l'erreur ci-dessous :

    BasicAuthenticationPolicy: Password element must be present for Encode operation.
    

Solution

Assurez-vous que l'élément <Password> est défini dans la règle BasicAuthentication pour les opérations d'encodage ou de décodage.

Pour corriger l'exemple ci-dessus, incluez l'élément <Password> dans la règle, comme indiqué ci-dessous :

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

Message d'erreur

Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:

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

Exemple de message d'erreur

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

Exemple de capture d'écran

Cause

Le déploiement du proxy d'API échoue si l'élément <AssignTo> n'est pas défini dans la règle BasicAuthentication. L'élément <AssignTo> est obligatoire pour les opérations d'encodage et de décodage.

Diagnostic

  1. Examinez toutes les règles BasicAuthentication utilisées dans le proxy d'API. Si l'élément <AssignTo> n'est pas défini dans l'une de ces règles, alors il s'agit de la cause de l'erreur. L'élément <AssignTo> doit obligatoirement être défini dans la règle BasicAuthentication pour les opérations d'encodage et de décodage.

    L'exemple de règle BasicAuthentication présenté ci-dessous est utilisé pour l'opération d'encodage, mais l'élément <AssignTo> n'est pas défini :

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

    Le déploiement échoue avec l'erreur ci-dessous :

    BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
    

Solution

Assurez-vous que l'élément <AssignTo> est défini dans la règle BasicAuthentication pour les opérations d'encodage ou de décodage.

Pour corriger l'exemple ci-dessus, incluez l'élément <AssignTo> dans la règle, comme indiqué ci-dessous :

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

SourceRequired

Message d'erreur

Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:

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

Exemple de message d'erreur

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

Exemple de capture d'écran

Cause

Le déploiement du proxy d'API échoue si l'élément <Source> n'est pas défini dans la règle BasicAuthentication utilisée pour l'opération de décodage. L'élément <Source> est obligatoire si l'élément <Operation> est spécifié en tant que Decode dans la règle BasicAuthentication.

Diagnostic

  1. Examinez toutes les règles BasicAuthentication utilisées dans le proxy d'API. Si, dans l'une de ces règles, l'élément <Source> n'est pas défini et que l'élément <Operation> est défini sur Decode, alors il s'agit de la cause de l'erreur. L'élément <Source> est obligatoire si l'élément <Operation> est spécifié en tant que Decode dans la règle BasicAuthentication.

    L'exemple de règle BasicAuthentication présenté ci-dessous est utilisé pour l'opération Decode, mais l'élément <Source> n'est pas défini :

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

    Le déploiement échoue avec l'erreur ci-dessous :

    BasicAuthenticationPolicy: Source element must be present for Decode operation.
    

Solution

Assurez-vous que l'élément <Source> est défini dans la règle BasicAuthentication lorsqu'il est utilisé pour une opération Decode.

Pour corriger l'exemple ci-dessus, incluez l'élément <Source> dans la règle, comme indiqué ci-dessous :

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