Risoluzione degli errori di deployment dei criteri BasicAuthentication

Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.

UserNameRequired

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Causa

Il deployment del proxy API non riesce se l'elemento <User> non è definito nel criterio BasicAuthentication. L'elemento <User> è obbligatorio per le operazioni di codifica e decodifica.

Diagnosi

  1. Esamina tutti i criteri BasicAuthentication utilizzati nel proxy API. Se esistono criteri in cui l'elemento <User> non è specificato, è questa la causa dell'errore. L'elemento <User> è obbligatorio nel criterio BasicAuthentication per le operazioni di codifica o decodifica.

    Il criterio BasicAuthentication di esempio mostrato di seguito viene utilizzato per l'operazione di codifica, ma non è stato definito l'elemento <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>
    

    Il deployment non riesce a causa del seguente errore:

    BasicAuthenticationPolicy: Username element must be present for Encode operation.
    

Risoluzione

Assicurati che l'elemento <User> sia definito all'interno del criterio BasicAuthentication per le operazioni di codifica o decodifica.

Per correggere l'esempio mostrato sopra, includi l'elemento <User> nel criterio, come mostrato di seguito:

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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Causa

Il deployment del proxy API non riesce se l'elemento <Password> non è definito nel criterio BasicAuthentication. L'elemento <Password> è obbligatorio per le operazioni di codifica e decodifica.

Diagnosi

  1. Esamina tutti i criteri BasicAuthentication utilizzati nel proxy API. Se esistono criteri in cui l'elemento <Password> non è definito, è questa la causa dell'errore. L'elemento <Password> è obbligatorio nel criterio BasicAuthentication per le operazioni di codifica o decodifica.

    Il criterio BasicAuthentication di esempio mostrato di seguito viene utilizzato per l'operazione di codifica, ma non è stato definito l'elemento <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>
    

    Il deployment non riesce a causa del seguente errore:

    BasicAuthenticationPolicy: Password element must be present for Encode operation.
    

Risoluzione

Assicurati che l'elemento <Password> sia definito all'interno del criterio BasicAuthentication per le operazioni di codifica o decodifica.

Per correggere l'esempio mostrato sopra, includi l'elemento <Password> nel criterio, come mostrato di seguito:

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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Causa

Il deployment del proxy API non riesce se l'elemento <AssignTo> non è definito nel criterio BasicAuthentication. L'elemento <AssignTo> è obbligatorio per le operazioni di codifica e decodifica.

Diagnosi

  1. Esamina tutti i criteri BasicAuthentication utilizzati nel proxy API. Se esiste un criterio in cui l'elemento <AssignTo> non è definito, è questa la causa dell'errore. È obbligatorio definire l'elemento <AssignTo> nel criterio BasicAuthentication sia per le operazioni di codifica che per le operazioni di decodifica.

    Il criterio BasicAuthentication di esempio mostrato di seguito viene utilizzato per l'operazione di codifica, ma non è stato definito l'elemento <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>
    

    Il deployment non riesce a causa del seguente errore:

    BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
    

Risoluzione

Assicurati che l'elemento <AssignTo> sia definito all'interno del criterio BasicAuthentication per le operazioni di codifica o decodifica.

Per correggere l'esempio mostrato sopra, includi l'elemento <AssignTo> nel criterio, come mostrato di seguito:

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

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Causa

Il deployment del proxy API non va a buon fine se l'elemento <Source> non è definito nel criterio BasicAuthentication utilizzato per l'operazione di decodifica. L'elemento <Source> è obbligatorio se <Operation> è specificato come Decode nel criterio BasicAuthentication.

Diagnosi

  1. Esamina tutti i criteri BasicAuthentication utilizzati nel proxy API. Se esiste un criterio in cui l'elemento <Source> non è definito e l'elemento <Operation> è definito come Decode, allora è questa la causa dell'errore. L'elemento <Source> è obbligatorio se <Operation> è specificato come Decode nel criterio BasicAuthentication.

    Il criterio BasicAuthentication di esempio mostrato di seguito viene utilizzato per l'operazione Decode, ma non è stato definito l'elemento <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>
    

    Il deployment non riesce a causa del seguente errore:

    BasicAuthenticationPolicy: Source element must be present for Decode operation.
    

Risoluzione

Assicurati che l'elemento <Source> sia definito nel criterio BasicAuthentication quando viene utilizzato per l'operazione Decode.

Per correggere l'esempio mostrato sopra, includi l'elemento <Source> nel criterio, come mostrato di seguito:

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