Solução de problemas de erros na implantação da política BasicAuthentication

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

UserNameRequired

Mensagem de erro

A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:

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

Exemplo de mensagem de erro

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

Captura de tela de exemplo

Causa

A implantação do Proxy de API falhará se o elemento <User> não estiver definido na política BasicAuthentication. O elemento <User> é obrigatório para operações de codificação e decodificação.

Diagnóstico

  1. Examine todas as políticas básicas de autenticação usadas no proxy de API. Se houver alguma política em que o elemento <User> não seja especificado, essa será a causa do erro. O elemento <User> é obrigatório na política BasicAuthentication para operações de codificação de decodificação.

    A política de amostra BasicAuthentication mostrada abaixo é usada para a operação de codificação, mas não tem o elemento <User> definido:

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

    A implantação falha com o erro abaixo:

    BasicAuthenticationPolicy: Username element must be present for Encode operation.
    

Resolução

O elemento <User> precisa estar definido na política BasicAuthentication para a operação "Codificar" ou "Decodificar".

Para corrigir o exemplo mostrado acima, inclua o elemento <User> na política, conforme mostrado abaixo:

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

Mensagem de erro

A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:

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

Exemplo de mensagem de erro

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

Captura de tela de exemplo

Causa

A implantação do Proxy de API falhará se o elemento <Password> não estiver definido na política BasicAuthentication. O elemento <Password> é obrigatório para operações de codificação e decodificação.

Diagnóstico

  1. Examine todas as políticas básicas de autenticação usadas no proxy de API. Se houver uma política em que o elemento <Password> não esteja definido, essa é a causa do erro. O elemento <Password> é obrigatório na política BasicAuthentication para a operação "Codificar" ou "Decodificar".

    A política de amostra BasicAuthentication mostrada abaixo é usada para a operação de codificação, mas não tem o elemento <Password> definido:

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

    A implantação falha com o erro abaixo:

    BasicAuthenticationPolicy: Password element must be present for Encode operation.
    

Resolução

O elemento <Password> precisa estar definido na política BasicAuthentication para a operação "Codificar" ou "Decodificar".

Para corrigir o exemplo mostrado acima, inclua o elemento <Password> na política, conforme mostrado abaixo:

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

Mensagem de erro

A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:

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

Exemplo de mensagem de erro

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

Captura de tela de exemplo

Causa

A implantação do Proxy de API falhará se o elemento <AssignTo> não estiver definido na política BasicAuthentication. O elemento <AssignTo> é obrigatório para operações de codificação e decodificação.

Diagnóstico

  1. Examine todas as políticas básicas de autenticação usadas no proxy de API. Se houver uma política em que o elemento <AssignTo> não esteja definido, essa é a causa do erro. O elemento <AssignTo> precisa ser definido na política BasicAuthentication para as operações de codificação e decodificação.

    A política de amostra BasicAuthentication mostrada abaixo é usada para a operação de codificação, mas não tem o elemento <AssignTo> definido:

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

    A implantação falha com o erro abaixo:

    BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
    

Resolução

O elemento <AssignTo> precisa estar definido na política BasicAuthentication para a operação "Codificar" ou "Decodificar".

Para corrigir o exemplo mostrado acima, inclua o elemento <AssignTo> na política, conforme mostrado abaixo:

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

Mensagem de erro

A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:

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

Exemplo de mensagem de erro

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

Captura de tela de exemplo

Causa

A implantação da API Proxy falhará se o elemento <Source> não estiver definido na política BasicAuthentication usada para operação de decodificação. O elemento <Source> será obrigatório se <Operation> for especificado como Decode na política BasicAuthentication.

Diagnóstico

  1. Examine todas as políticas básicas de autenticação usadas no proxy de API. Se houver uma política em que o elemento <Source> não esteja definido e o elemento <Operation> seja definido como Decode, essa será a causa do erro. O elemento <Source> será obrigatório se <Operation> for especificado como Decode na política BasicAuthentication.

    A amostra de política de autenticação básica mostrada abaixo é usada para a operação Decode, mas não tem o elemento <Source> definido:

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

    A implantação falha com o erro abaixo:

    BasicAuthenticationPolicy: Source element must be present for Decode operation.
    

Resolução

Verifique se o elemento <Source> está definido na política BasicAuthentication quando ele é usado para a operação Decode.

Para corrigir o exemplo mostrado acima, inclua o elemento <Source> na política, conforme mostrado abaixo:

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