Risoluzione degli errori di deployment dei criteri BasicAutenticazione

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'UI o l'API Apigee non riesce 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 BasicAutenticazione. L'elemento <User> è obbligatorio per le operazioni di codifica e decodifica.

Diagnosi

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

    Il criterio Basic Authentication 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 e viene visualizzato l'errore seguente:

    BasicAuthenticationPolicy: Username element must be present for Encode operation.
    

Risoluzione

Assicurati che l'elemento <User> sia definito nel criterio BasicAutenticazione 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'UI o l'API Apigee non riesce 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 BasicAutenticazione. L'elemento <Password> è obbligatorio per le operazioni di codifica e decodifica.

Diagnosi

  1. Esamina tutti i criteri BasicAutenticazione utilizzati nel proxy API. Se esiste un criterio in cui l'elemento <Password> non è definito, è questo il motivo dell'errore. L'elemento <Password> è obbligatorio nel criterio BasicAutenticazione per le operazioni di codifica o decodifica.

    Il criterio Basic Authentication 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 e viene visualizzato l'errore seguente:

    BasicAuthenticationPolicy: Password element must be present for Encode operation.
    

Risoluzione

Assicurati che l'elemento <Password> sia definito nel criterio BasicAutenticazione 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'UI o l'API Apigee non riesce 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 BasicAutenticazione. L'elemento <AssignTo> è obbligatorio per le operazioni di codifica e decodifica.

Diagnosi

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

    Il criterio Basic Authentication 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 e viene visualizzato l'errore seguente:

    BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
    

Risoluzione

Assicurati che l'elemento <AssignTo> sia definito nel criterio BasicAutenticazione 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'UI o l'API Apigee non riesce 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 riesce se l'elemento <Source> non è definito nel criterio BasicAutenticazione utilizzato per l'operazione di decodifica. L'elemento <Source> è obbligatorio se <Operation> è specificato come Decode nel criterio BasicAutenticazione.

Diagnosi

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

    Il criterio Basic Authentication 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 e viene visualizzato l'errore seguente:

    BasicAuthenticationPolicy: Source element must be present for Decode operation.
    

Risoluzione

Assicurati che l'elemento <Source> sia definito nel criterio BasicAutenticazione 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>