Fehlerbehebung bei der Bereitstellung von BasicAuthentication-Richtlinien

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

UserNameRequired

Fehlermeldung

Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:

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

Beispiel für Fehlermeldung

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

Beispiel-Screenshot

Ursache

Die Bereitstellung des API-Proxys schlägt fehl, wenn das <User>-Element nicht in der BasicAuthentication-Richtlinie definiert ist. Das <User>-Element ist für Codierungs- und Decodierungsvorgänge obligatorisch.

Diagnose

  1. Prüfen Sie alle BasicAuthentication-Richtlinien, die im API-Proxy verwendet werden. Wenn es eine Richtlinie gibt, in der das <User>-Element nicht angegeben ist, ist dies die Ursache des Fehlers. Das <User>-Element ist in der BasicAuthentication-Richtlinie für Codierungs- oder Decodierungsvorgänge erforderlich.

    Die folgende BasicAuthentication-Beispielrichtlinie wird zum Codieren verwendet, das Element <User> ist aber nicht definiert:

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

    Die Bereitstellung schlägt mit folgendem Fehler fehl:

    BasicAuthenticationPolicy: Username element must be present for Encode operation.
    

Lösung

Achten Sie darauf, dass das Element <User> in der BasicAuthentication-Richtlinie für den Codierungs- oder Decodierungsvorgang definiert ist.

Fügen Sie das User>-Element innerhalb der Richtlinie wie unten dargestellt hinzu, um das obige Beispiel zu korrigieren:

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

Fehlermeldung

Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:

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

Beispiel für Fehlermeldung

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

Beispiel-Screenshot

Ursache

Die Bereitstellung des API-Proxys schlägt fehl, wenn das <Password>-Element nicht in der BasicAuthentication-Richtlinie definiert ist. Das <Password>-Element ist für Codierungs- und Decodierungsvorgänge obligatorisch.

Diagnose

  1. Prüfen Sie alle BasicAuthentication-Richtlinien, die im API-Proxy verwendet werden. Wenn es eine Richtlinie gibt, in der das Element <Password> nicht definiert ist, ist dies die Ursache des Fehlers. Das Element <Password> ist in der BasicAuthentication-Richtlinie für Codierungs- oder Decodierungsvorgänge obligatorisch.

    Die folgende BasicAuthentication-Beispielrichtlinie wird zum Codieren verwendet, das Element <Password> ist aber nicht definiert:

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

    Die Bereitstellung schlägt mit folgendem Fehler fehl:

    BasicAuthenticationPolicy: Password element must be present for Encode operation.
    

Lösung

Achten Sie darauf, dass das Element <Password> in der BasicAuthentication-Richtlinie für den Codierungs- oder Decodierungsvorgang definiert ist.

Fügen Sie das Password>-Element innerhalb der Richtlinie wie unten dargestellt hinzu, um das obige Beispiel zu korrigieren:

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

Fehlermeldung

Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:

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

Beispiel für Fehlermeldung

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

Beispiel-Screenshot

Ursache

Die Bereitstellung des API-Proxys schlägt fehl, wenn das <AssignTo>-Element nicht in der BasicAuthentication-Richtlinie definiert ist. Das <AssignTo>-Element ist für Codierungs- und Decodierungsvorgänge obligatorisch.

Diagnose

  1. Prüfen Sie alle BasicAuthentication-Richtlinien, die im API-Proxy verwendet werden. Wenn eine Richtlinie nicht vorhanden ist, in der das Element <AssignTo> nicht definiert ist, ist dies die Ursache des Fehlers. Das Element <AssignTo> ist sowohl für Codierungs- als auch für Decodierungsvorgänge in der BasicAuthentication-Richtlinie definiert.

    Die folgende BasicAuthentication-Beispielrichtlinie wird zum Codieren verwendet, das Element <AssignTo> ist aber nicht definiert:

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

    Die Bereitstellung schlägt mit folgendem Fehler fehl:

    BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
    

Lösung

Achten Sie darauf, dass das Element <AssignTo> in der BasicAuthentication-Richtlinie für den Codierungs- oder Decodierungsvorgang definiert ist.

Fügen Sie das AssignTo>-Element innerhalb der Richtlinie wie unten dargestellt hinzu, um das obige Beispiel zu korrigieren:

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

Fehlermeldung

Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:

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

Beispiel für Fehlermeldung

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

Beispiel-Screenshot

Ursache

Die Bereitstellung des API-Proxys schlägt fehl, wenn das <Source>-Element nicht in der BasicAuthentication-Richtlinie definiert ist, die für die Decodierung verwendet wird. Das <Source>-Element ist obligatorisch, wenn <Operation> in der BasicAuthentication-Richtlinie als Decode angegeben ist.

Diagnose

  1. Prüfen Sie alle BasicAuthentication-Richtlinien, die im API-Proxy verwendet werden. Wenn es eine Richtlinie gibt, in der das <Source>-Element nicht definiert ist und das <Operation>-Element als Decode definiert ist, ist dies die Fehlerursache. Das <Source>-Element ist obligatorisch, wenn <Operation> in der BasicAuthentication-Richtlinie als Decode angegeben ist.

    Die folgende BasicAuthentication-Beispielrichtlinie wird für den Vorgang Decode verwendet, aber das Element <Source> ist nicht definiert:

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

    Die Bereitstellung schlägt mit folgendem Fehler fehl:

    BasicAuthenticationPolicy: Source element must be present for Decode operation.
    

Lösung

Achten Sie darauf, dass das <Source>-Element in der BasicAuthentication-Richtlinie definiert ist, wenn es für den Decode-Vorgang verwendet wird.

Fügen Sie das Source>-Element innerhalb der Richtlinie wie unten dargestellt hinzu, um das obige Beispiel zu korrigieren:

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